aboutsummaryrefslogtreecommitdiffstats
path: root/tests/signal-interrupt.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/signal-interrupt.c')
-rw-r--r--tests/signal-interrupt.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/signal-interrupt.c b/tests/signal-interrupt.c
new file mode 100644
index 0000000..7b6988f
--- /dev/null
+++ b/tests/signal-interrupt.c
@@ -0,0 +1,26 @@
+#include <signal.h>
+#include <time.h>
+#include <unistd.h>
+
+static void
+interrupt()
+{
+ write(-2, "xyzzy\n", 6);
+}
+
+int
+main(void)
+{
+ struct timespec ts = {0, 100000000L};
+ pid_t pid = getpid();
+ signal(SIGINT, interrupt);
+ if (fork() == 0) {
+ ts.tv_nsec /= 2;
+ nanosleep(&ts, NULL);
+ kill(pid, SIGINT);
+ } else {
+ nanosleep(&ts, NULL);
+ write(-1, "qwerty\n", 7);
+ }
+ return 0;
+}