#include <signal.h> void (*signal (int signal, void (*func) (int))) (int);
Функция signal() регистрирует функцию, переданную через параметр-указатель func, в качестве обработчика сигнала, указанного параметром signal. Это означает, что функция, переданная через указатель-параметр func, будет вызвана тогда, когда программа получит сигнал signal. Для использования signal() требуется включить заголовок <signal.h>.
Значением параметра func может быть адрес функции обработчика сигнала или один из следующих макросов, определенных в заголовке <signal.h>.
Макрос | Значение |
---|---|
SIG_DFL | Использовать стандартную обработку сигнала |
SIG_IGN | Игнорировать сигнал данного типа |
Если используется адрес функции, то при получении сигнала будет выполнен заданный обработчик. Для получения дополнительных сведений обратитесь к документации, поставляемой с компилятором.
При успешном выполнении функция signal() возвращает адрес ранее определенной функции-обработчика данного сигнала. При ошибке возвращается значение SIG_ERR (определенное в заголовке <signal.h>).