1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #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;
- }
|