[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Изменение или исследование маски сигналов процесса

sigprocmask(2)
Системный вызов  sigprocmask(2) используется,  чтобы изменить  текущую
маску сигналов  процесса, определяющую  сигналы,  доставка  которых  в
данный момент заблокирована. Кроме того, он может быть использован для
исследования этой  маски без  произведения  изменений  в  ней.  Первый
аргумент how принимает такие значения:

SIG_BLOCK      - Множество  сигналов, на  которое указывает set, будет
                 добавлено к текущей маске сигнала.

SIG_UNBLOCK    - Множество set будет удалено из текущей маски.

SIG_SETMASK    - Текущая маска будет заменена на set.

Если oset  ненулевой, предыдущая  сигнальная маска  будет  помещена  в
область памяти,  на которую  он указывает.  sigprocmask(2) может  быть
использован для исследования текущей маски, если второй аргумент равен
0. В  этом  случае,  how  игнорируется,  и  текущая  сигнальная  маска
вызывающего процесса остается без изменений.

sigpending(2)
Системный вызов  sigpending(2) позволяет  процессу  посмотреть,  какие
сигналы были  посланы, но  в данный  момент  заблокированы  сигнальной
маской процесса.

ИМЯ
     sigpending - исследовать сигналы, которые заблокированы и ожидают
     обработки

ИСПОЛЬЗОВАНИЕ
     #include <signal.h>

     int sigpending(sigset_t * set);

Заблокированные  сигналы,   ожидающие  в   данный  момент   обработки,
записываются в область памяти set.

          ИЗМЕНЕНИЕ ИЛИ ИССЛЕДОВАНИЕ МАСКИ СИГНАЛОВ ПРОЦЕССА


sigprocmask(2)

ИМЯ

          sigprocmask - изменить или исследовать маску сигналов
          процесса



ИСПОЛЬЗОВАНИЕ

#include <signal.h>
int sigprocmask(int how,sigset_t *set,sigset_t *oset);



ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

          успех - 0

          неуспех - -1 и errno установлена