Системный вызов sigprocmask()
Primary tabs
Системный вызов sigprocmask() - служит для редактирования списка, блокированных в данный момент сигналов.
сигнатура =
int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);
пример вызова =
sigset_t newset; // набор сигналов sigemptyset(&newset); // инициализирует набор сигналов, указанный в newset, и "очищает" его от всех сигналов sigaddset(&newset, SIGHUP); // добавляем сигнал SIGHUP в наш набор sigprocmask(SIG_BLOCK, &newset, 0); // добавляем к текущему набору блокированных сигналов сигналы из набора newset
Принцип действия вызова в зависит от переданного параметра how следующим образом -
если how=
SIG_BLOCK - Набор блокируемых сигналов - объединение текущего набора и аргумента set.
SIG_UNBLOCK - Сигналы, устанавливаемое значение битов которых равно set, удаляются из списка блокируемых сигналов. Допускается разблокировать незаблокированные сигналы.
SIG_SETMASK- Набор блокируемых сигналов приравнивается к аргументу set.
Если переданный в вызов параметр oldset не равн нулю, то предыдущее значение маски сигналов записывается в oldset
источник
_____________________________________________
Источники(читать подробнее)=
http://www.opennet.ru/man.shtml?topic=si...
Ключевые слова и фразы(для поиска)=
- vedro-compota's blog
- Log in to post comments
- 6696 reads