Содержание | Глава 18

Функция signal

#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>).

Зависимые функции

raise()
Содержание | Глава 18