int siufillset(sigset_t *set);
int sigaddset(sigset_t *set, int signo);
int sigdelset(sigset_t *set, int signo);
int sigismember(sigset_t *set, int signo);
В отличие от функции sigset_t
, определенную процессом. Для управления непосредственно сигналами используются дополнительные функции, которые мы рассмотрим позже.
Функция signo
сигнал в набор.
Вместо функции
#include
int sigaction (int sig, const struct sigaction *act,
struct sigaction *oact);
Вся необходимая для управлением сигналами информация передается через указатель на структуру sigaction
, имеющую следующие поля:
void (*sa_handler)() | Обработчик сигнала sig |
void (*sa_sigaction)(int, siginfo_t*, void*) | Обработчик сигнала sig при установленном флаге SA_SIGINFO |
sigset_t sa_mask | Маска сигналов |
int sa_flags | Флаги |
Поле sa_handler
определяет действие, которое необходимо предпринять при получении сигналов, и может принимать значения SIG_IGN
, SIG_DFL
или адреса функции-обработчика. Если значение sa_handler
или sa_sigaction
не равны NULL
, то в поле sa_mask
передается набор сигналов, которые будут добавлены к маске сигналов перед вызовом обработчика. Каждый процесс имеет установленную маску сигналов, определяющую сигналы, доставка которых должна быть заблокирована. Если определенный бит маски установлен, соответствующий ему сигнал будет заблокирован. После возврата из функции-обработчика значение маски возвращается к исходному значению. Заметим, что сигнал, для которого установлена функция-обработчик, также будет заблокирован перед ее вызовом. Такой подход гарантирует, что во время обработки, последующее поступление определенных сигналов будет приостановлено до завершения функции. Как правило, UNIX не поддерживает очередей сигналов, и это значит, что блокировка нескольких однотипных сигналов в конечном итоге вызовет доставку лишь одного.
Поле sa_flags
определяет флаги, модифицирующие доставку сигнала. Оно может принимать следующие значения:
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии