The signal.h header defines a variable type sig_atomic_t, two function calls, and several macros to handle different signals reported during a program's execution.
Following is the variable type defined in the header signal.h −
Sr.No. | Variable & Description |
---|---|
1 |
sig_atomic_t This is of int type and is used as a variable in a signal handler. This is an integral type of an object that can be accessed as an atomic entity, even in the presence of asynchronous signals. |
Following are the macros defined in the header signal.h and these macros will be used in two functions listed below. The SIG_ macros are used with the signal function to define signal functions.
Sr.No. | Macro & Description |
---|---|
1 |
SIG_DFL Default signal handler. |
2 |
SIG_ERR Represents a signal error. |
3 |
SIG_IGN Signal ignore. |
The SIG macros are used to represent a signal number in the following conditions −
Sr.No. | Macro & Description |
---|---|
1 |
SIGABRT Abnormal program termination. |
2 |
SIGFPE Floating-point error like division by zero. |
3 |
SIGILL Illegal operation. |
4 |
SIGINT Interrupt signal such as ctrl-C. |
5 |
SIGSEGV Invalid access to storage like segment violation. |
6 |
SIGTERM Termination request. |
Following are the functions defined in the header signal.h −
Sr.No. | Function & Description |
---|---|
1 |
void (*signal(int sig, void (*func)(int)))(int)
This function sets a function to handle signal i.e. a signal handler. |
2 |
int raise(int sig)
This function causes signal sig to be generated. The sig argument is compatible with the SIG macros. |