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.