Linux программирование в примерах
Шрифт:
Эта функция позволяет увидеть, какие сигналы ожидают решения; т.е.
Эта функция временно заменяет маску сигналов процесса содержимым
10.6.4. Перехват сигналов:
Наконец мы готовы взглянуть на функцию
Аргументы следующие:
Интересующий сигнал, как в случае с другими функциями обработки сигналов.
Определение нового обработчика для сигнала
Определение текущего обработчика. Если не
Таким образом,
Поля следующие:
Набор дополнительных сигналов для блокирования при запуске функции обработчика. Таким образом, когда вызывается обработчик, общий набор заблокированных сигналов является объединением сигналов в маске процесса, сигналов в
Флаги, контролирующие обработку сигнала ядром. См. обсуждение далее.
Указатель на «традиционную» функцию обработчика. У нее такой же прототип (возвращаемый тип и список параметров), как у функции обработчика для
Указатель на функцию обработчика «нового стиля». Функция принимает три аргумента, которые вскоре будут описаны.
Которая из функций
Поле
Таблица 10.3. Значения флагов для
| Флаг | Значение |
|---|---|
| SA_NOCLDSTOP | Этот
SIGCHLD . Когда он установлен, родитель не получает сигнал при остановке порожденною процесса сигналами SIGSTOP , SIGTSTP , SIGTTIN или SIGTTOU . Эти сигналы обсуждаются позже, в разделе 10.8.2 |
| SA_NOCLDWAIТ | Этот флаг имеет смысл лишь для SIGCHLD . Его поведение сложно. Мы отложим объяснение на потом, см. раздел 10.8.3 |
| SA_NODEFER | Обычно данный сигнал блокируется, когда вызывается обработчик сигнала. Когда установлен один из этих флагов, данный сигнал не блокируется при запуске обработчика SA_NODEFER является официальным именем POSIX данного флага (которое и следует использовать) |
| SA_NOMASK | Альтернативное имя для SA_NODEFER [110] |
| SA_SIGINFO | Обработчик сигнала принимает три аргумента. Как упоминалось, при данном установленном флаге должно использоваться поле sa_sigaction вместо sa_handler . |
| SA_ONSTACK | Это продвинутая возможность. Обработчики сигналов могут вызываться с использованием предоставленной пользователем памяти в качестве «альтернативного стека сигнала». Эта память даётся ядру для подобного использования посредством sigaltstack (см. sigaltstack(2)). Эта особенность больше не описывается в данной книге |
| SA_RESETHAND | Этот флаг обеспечивает поведение V7: после вызова обработчика восстанавливается действие сигнала по умолчанию. Официальным именем POSIX флага (которое следует использовать) является SA_RESETHAND |
| SA_ONESHOT | Альтернативное имя для SA_RESETHAND. |
| SA_RESTART | Этот флаг предоставляет семантику BSD: системные вызовы, которые могут завершиться с ошибкой EINTR и которые получают этот сигнал, запускаются повторно. |
110
Насколько мы смогли определить, имена
Когда в
Структура
Блюдо подают холодным
1. Блюдо подают холодным
Фантастика:
рпг
попаданцы
фэнтези
рейтинг книги
Познание России. Заветные мысли (сборник)
Научно-образовательная:
прочая научная литература
рейтинг книги
На ножах
Проза:
классическая проза
русская классическая проза
рейтинг книги
Танец убийц
Проза:
историческая проза
рейтинг книги
Князь Андер Арес 3
3. Андер Арес
Фантастика:
рпг
аниме
фэнтези
рейтинг книги
Досье Дрездена. Книги 1 - 15
Досье Дрездена
Фантастика:
фэнтези
ужасы и мистика
рейтинг книги
Газлайтер. Том 3
3. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
рейтинг книги
"Фантастика 2023-110". Компиляция. Книги 1-16
Фантастика 2023. Компиляция
Фантастика:
фэнтези
боевая фантастика
космическая фантастика
рейтинг книги
Система Возвышения. (цикл 1-8) - Николай Раздоров
Система Возвышения
Фантастика:
боевая фантастика
рейтинг книги
Все будет по-моему! Часть 12
12. Всё будет по-моему!
Фантастика:
фэнтези
попаданцы
рейтинг книги
Легенды российских тамплиеров
Религия и эзотерика:
эзотерика
рейтинг книги