Linux программирование в примерах
Шрифт:
10.6.1. Обнажение проблемы
Что неладно с API System V Release 3? В конце концов, они предоставляют блокирование сигналов, так, что сигналы не теряются, и любой данный сигнал может быть надежно обработан.
Ответ в том, что этот API работает лишь с одним сигналом в одно и то же время. Программы обычно обрабатывают больше одного сигнала. И когда вы находитесь в середине процесса обработки одного сигнала, вы не хотите беспокоиться по поводу обработки еще и второго. (Предположим, вы только что начали отвечать по офисному телефону, когда зазвонил ваш мобильный телефон: вы бы предпочли, чтобы телефонная система ответила вызывающему, что в данный момент вы находитесь на другой линии и что скоро освободитесь, вместо того, чтобы проделывать все это самому.)
С API
Решением является обеспечение возможности автоматической работы с группами сигналов, т.е. с помощью одного системного вызова. Вы достигаете этого, работая с наборами сигналов и маской сигналов процесса.
10.6.2. Наборы сигналов:
Маска сигналов процесса является списком сигналов, которые процесс в настоящее время заблокировал. Сила POSIX API в том, что маской сигналов процесса можно манипулировать атомарно, как единым целым.
Маска сигналов процесса программно представляется с помощью набора сигналов. Это тип
Однако, поскольку в системе может быть больше сигналов, чем может содержаться в одной
Эти функции следующие:
Освобождает набор сигналов. По возвращении
Полностью заполняет набор сигналов. По возвращении
Добавляет
Удаляет
Возвращает true/false, если
Перед выполнением с переменной
10.6.3. Управление маской сигналов:
Маска сигналов процесса вначале пуста - заблокированных сигналов нет. (Это упрощение; см. раздел 10.9 «Сигналы, передающиеся через
Функции следующие:
Если
Если
Варяги и Русь
Всемирная история в романах
Проза:
историческая проза
рейтинг книги
Сталин
3. Загадки жизни и смерти
Проза:
историческая проза
рейтинг книги
Товарищ "Чума"
1. Товарищ "Чума"
Фантастика:
попаданцы
альтернативная история
рейтинг книги
1941: Время кровавых псов
1. Всеволод Залесский
Приключения:
исторические приключения
рейтинг книги
Неучтенный элемент. Том 2
2. Антимаг. Вне системы
Фантастика:
городское фэнтези
фэнтези
рейтинг книги
Советы по Delphi. Версия 1.4.3 от 1.1.2001
Компьютеры и Интернет:
программирование
рейтинг книги
Тень Нерона
3. Сыщик
Фантастика:
детективная фантастика
рейтинг книги
Сборник.Том 8
8. Отцы-основатели. Весь Азимов
Фантастика:
научная фантастика
рейтинг книги
Ворон
Фантастика:
попаданцы
фэнтези
гаремник
рейтинг книги
Поварское искусство
Дом и Семья:
кулинария
рейтинг книги
Дневник (1887-1910)
Проза:
проза прочее
рейтинг книги