[<<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 установлена