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.
Library Variables
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.
|
Library Macros
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.
|
Library Functions
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.
|