Blame signal/tst-signal.c

Packit 6c4009
#include <signal.h>
Packit 6c4009
#include <stdio.h>
Packit 6c4009
#include <stdlib.h>
Packit 6c4009
#include <string.h>
Packit 6c4009
Packit 6c4009
int win = 0;
Packit 6c4009
Packit 6c4009
static void
Packit 6c4009
handler (int sig)
Packit 6c4009
{
Packit 6c4009
  printf ("Received signal %d (%s).\n", sig, strsignal(sig));
Packit 6c4009
  win = 1;
Packit 6c4009
}
Packit 6c4009
Packit 6c4009
int
Packit 6c4009
main (void)
Packit 6c4009
{
Packit 6c4009
  if (signal (SIGTERM, handler) == SIG_ERR)
Packit 6c4009
    {
Packit 6c4009
      perror ("signal: SIGTERM");
Packit 6c4009
      exit (EXIT_FAILURE);
Packit 6c4009
    }
Packit 6c4009
Packit 6c4009
  puts ("Set handler.");
Packit 6c4009
Packit 6c4009
  printf ("Sending myself signal %d.\n", SIGTERM);
Packit 6c4009
  fflush (stdout);
Packit 6c4009
Packit 6c4009
  if (raise (SIGTERM) < 0)
Packit 6c4009
    {
Packit 6c4009
      perror ("raise: SIGTERM");
Packit 6c4009
      exit (EXIT_FAILURE);
Packit 6c4009
    }
Packit 6c4009
Packit 6c4009
  if (!win)
Packit 6c4009
    {
Packit 6c4009
      puts ("Didn't get any signal.  Test FAILED!");
Packit 6c4009
      exit (EXIT_FAILURE);
Packit 6c4009
    }
Packit 6c4009
Packit 6c4009
  puts ("Got a signal.  Test succeeded.");
Packit 6c4009
Packit 6c4009
  return EXIT_SUCCESS;
Packit 6c4009
}