diff options
author | Mike Frysinger <vapier@gentoo.org> | 2006-02-15 05:03:49 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2006-02-15 05:03:49 +0000 |
commit | 6a22e84a33d80766d39a4ab10afe21873c633795 (patch) | |
tree | 39e264d71923985a7b6130382f5a2b1342d4f233 /test/signal/tst-signal.c | |
parent | 4d0d43c40a4cf86fa330d4399105bb1a2d6e805e (diff) |
grab some more tests from glibc
Diffstat (limited to 'test/signal/tst-signal.c')
-rw-r--r-- | test/signal/tst-signal.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/signal/tst-signal.c b/test/signal/tst-signal.c new file mode 100644 index 000000000..6d3178792 --- /dev/null +++ b/test/signal/tst-signal.c @@ -0,0 +1,44 @@ +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +int win = 0; + +static void +handler (int sig) +{ + printf ("Received signal %d (%s).\n", sig, strsignal(sig)); + win = 1; +} + +int +main (void) +{ + if (signal (SIGTERM, handler) == SIG_ERR) + { + perror ("signal: SIGTERM"); + exit (EXIT_FAILURE); + } + + puts ("Set handler."); + + printf ("Sending myself signal %d.\n", SIGTERM); + fflush (stdout); + + if (raise (SIGTERM) < 0) + { + perror ("raise: SIGTERM"); + exit (EXIT_FAILURE); + } + + if (!win) + { + puts ("Didn't get any signal. Test FAILED!"); + exit (EXIT_FAILURE); + } + + puts ("Got a signal. Test succeeded."); + + return EXIT_SUCCESS; +} |