import signal signal.pthread_sigmask(how, mask)
how
- mask
- множество set
номеров сигналов.set
сигналов.Функция pthread_sigmask()
модуля signal
выбирает и/или изменяет маску сигнала вызывающего потока.
Маска сигналов - это набор сигналов, доставка которых в данный момент заблокирована для вызывающего абонента. Возвращает старую маску сигналов в виде множества set
сигналов.
Поведение вызова зависит от значения how
следующим образом:
signal.SIG_BLOCK
: набор заблокированных сигналов является объединением текущего множествa и аргумента mask
.signal.SIG_UNBLOCK
: сигналы в mask
удаляются из текущего множествa заблокированных сигналов. Разрешается пытаться разблокировать сигнал, который не заблокирован.signal.SIG_SETMASK
: множество заблокированных сигналов устанавливается в качестве аргумента маски.Аргумент mask
это множество set
номеров сигналов, например {signal.SIGINT, signal.SIGTERM}
. Для использования полной маски, включая все сигналы используйте функцию signal.valid_signals()
.
Например: signal.pthread_sigmask(signal.SIG_BLOCK, [])
- считывает маску сигналов вызывающего потока.
signal.SIGKILL
и SIGSTOP
не могут быть заблокированы.
Доступность: Unix. Для получения дополнительной информации смотрите справочную страницу sigprocmask(3) и pthread_sigmask(3).
Смотрите также функции signal.pause()
, signal.sigpending()
и signal.sigwait()
.
how
.signal.SIG_BLOCK
:Переменная signal.SIG_BLOCK
представляет собой возможное значение параметра how
для signal.pthread_sigmask()
, указывающее, что сигналы должны быть заблокированы.
signal.SIG_UNBLOCK
:Переменная signal.SIG_UNBLOCK
представляет собой возможное значение параметра how
для signal.pthread_sigmask()
, указывающее, что сигналы должны быть разблокированы/
signal.SIG_SETMASK
:Переменная signal.SIG_SETMASK
представляет собой возможное значение параметра how
для signal.pthread_sigmask()
, указывающее, что маска сигнала должна быть заменена.