НАЗВАНИЕ
ssignal, gsignal - программный вариант механизма сигналов
СИНТАКСИС
#include <signal.h>
int (*ssignal (sig, action)) ( ) int sig, (*action) ( );
int gsignal (sig) int sig;
ОПИСАНИЕ
Функции ssignal и gsignal представляют собой программную реализацию механизма передачи сигналов, похожего на тот, что обеспечивается системным вызовом . Эти функции используются стандартной библиотекой языка C, чтобы предоставить пользователю возможность нестандартной обработки ошибочных ситуаций. Функции ssignal и gsignal можно использовать и в иных целях.
Программные сигналы, доступные пользователю, обозначаются целыми числами от 1 до 16 включительно. Выполнение функции ssignal ассоциирует действие, action, с программным сигналом sig; возбуждение сигнала sig осуществляется функцией gsignal. Возбуждение сигнала приводит к выполнению ассоциированного с ним действия.
В качестве первого аргумента функции ssignal передается число, идентифицирующее сигнал, для которого требуется установить действие. Второй аргумент определяет это действие; оно может быть задано как именем функции (определенной пользователем), так и одной из констант SIG_DFL (стандартное действие) или SIG_IGN (игнорирование). Функция ssignal возвращает указатель на функцию, определяющую предыдущее действие, установленное для этого сигнала; если нет ранее установленного действия или номер сигнала некорректен, то возвращается константа SIG_DFL.
Функция gsignal возбуждает сигнал, заданный аргументом sig, при этом:
СМ. ТАКЖЕ
, .
ПРИМЕЧАНИЯ
Есть несколько дополнительных сигналов с номерами, выходящими за пределы интервала от 1 до 16. Они используются функциями из стандартной библиотеки языка C для указания ошибочных ситуаций. В результате некоторые номера сигналов за пределами интервала от 1 до 16 являются допустимыми, хотя их использование может конфликтовать с функциями из стандартной библиотеки языка C.