SIG_SETMASK
Набор блокируемых сигналов приравнивается к аргументу set. Если значение поля oldset не равно нулю, то предыдущее значение маски сигналов записывается в oldset. Третий аргумент может быть равен NULL. Если третий аргумент указан явно, то по этому адресу помещается предыдущее значение. Если второй аргумент равен NULL, то в третий помещается текущий набор.
int sigpending(sigset_t * set ); int sigsuspend(const sigset_t * mask ); Системный вызов sigpending позволяет определить наличие ожидающих сигналов (полученных заблокированных сигналов). Маска ожидающих сигналов помещается в set. Системный вызов sigsuspend временно изменяет значение маски блокировки сигналов процесса на указанное в mask, и затем приостанавливает работу процесса до получения соответствующего сигнала. ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ Функция sigprocmask возвращает 0 при удачном завершении работы функции и -1 при ошибке. Функция sigsuspend всегда возвращает -1, обычно с кодом ошибки EINTR.
НАЙДЕННЫЕ ОШИБКИ EINVAL Было задано неверное значение сигнала. Эта ошибка также возникает в случае попытки задания сигналов SIGKILL или SIGSTOP, которые не могут быть "перехвачены". EFAULT set или mask указывают на адрес, не входящий в адресное пространство процесса. EINTR Системный вызов был прерван.
|