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