/**
* $Id: signals.c,v 1.1.1.1 2008-04-28 17:32:53 mbroeker Exp $
* $Source: /development/c/demos/signals.c,v $
*
*/
#ifndef _XOPEN_SOURCE
#define _XOPEN_SOURCE 500
#endif
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
void sigproc ()
{
signal (SIGINT, sigproc);
printf ("I received the SIGINT Signal\n");
}
void sigquit ()
{
printf ("I received the SIGQUIT Signal\n");
/*
* This kills the process and subprocesses
*/
kill (-1, SIGKILL);
/*
* ^^ can not be reached
*/
exit (0);
}
int main (int argc, char **argv)
{
signal (SIGINT, sigproc);
signal (SIGQUIT, sigquit);
printf ("PRESS CTRL-\\ to quit\n");
for (;;);
return EXIT_SUCCESS;
}