Blame signal/tst-signal.c

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