A signal is an interrupt that is used to notify a process that an event has occurred. That process can then responds to that event accordingly by "handling the signal". ISO/IEC 9899-1999 C provides functions for sending and handling signals within a C program.
Signals can be delivered by events external to a process, or by calling the raise() function, which is specified as:
int raise(int sig);
Signals are handled by a process by registering a signal handler using the signal() function, which is specified as:
void (*signal(int sig, void (*func)(int)))(int);
Improper handling of , signals can lead to security vulnerabilities. The following rules and recommendations are designed to reduce the common errors associated with signal handling.