Семантика сигналов POSIX

Семантика сигналов POSIX

Сведем воедино следующие моменты, относящиеся к обработке сигналов в системе, совместимой с POSIX.

? Однажды установленный обработчик сигналов остается установленным (в более ранних системах обработчик сигналов удалялся каждый раз по выполнении).

? На время выполнения функции — обработчика сигнала доставляемый сигнал блокируется. Более того, любые дополнительные сигналы, заданные в наборе сигналов sa_mask, переданном функции sigaction при установке обработчика, также блокируются. В листинге 5.5 мы устанавливаем sa_mask равным пустому набору, что означает, что никакие сигналы, кроме перехватываемого, не блокируются.

? Если сигнал генерируется один или несколько раз, пока он блокирован, то обычно после разблокирования он доставляется только один раз, то есть по умолчанию сигналы Unix не устанавливаются в очередь. Пример мы рассмотрим в следующем разделе. Стандарт POSIX реального времени 1003.1b определяет набор надежных сигналов, которые помещаются в очередь, но в этой книге мы их не используем.

? Существует возможность выборочного блокирования и разблокирования набора сигналов с помощью функции sigprocmask. Это позволяет нам защитить критическую область кода, не допуская перехватывания определенных сигналов во время ее выполнения.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Семантика параметров

Из книги Давайте создадим компилятор! автора Креншоу Джек

Семантика параметров До этого мы имели дело с синтаксисом передачи параметров и получили механизм синтаксического анализа для его обработки. Сейчас мы должны рассмотреть семантику, т.е. действия, которые должны быть предприняты когда мы столкнемся с параметрами. Это


Семантика использования псевдонимов

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Семантика использования псевдонимов Неприятным последствием применения псевдонимов (и статических, и динамических) является воздействие операций на сущности, даже не упоминаемые в операциях.Модель вычислений без псевдонимов обладает приятным свойством: приведенный


Инварианты класса и семантика ссылок

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

Инварианты класса и семантика ссылок ОО-модель, разрабатываемая до сих пор, включала два частично не связанных аспекта, оба из которых полезны:[x]. Понятие инварианта класса, введенное в этой лекции.[x]. Гибкая модель периода выполнения, детально рассмотренная в начальных


Фиксированная семантика компонентов copy, clone и equality

Из книги О чём не пишут в книгах по Delphi автора Григорьев А. Б.

Фиксированная семантика компонентов copy, clone и equality Чаще всего замороженные (frozen) компоненты применяются в операциях общего назначения, подобных тем, что входили в состав класса GENERAL. Так, есть две версии базовой процедуры копирования:copy, frozen standard_copy (other: ...) is-- скопировать


16.6. Семантика вызовов

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

16.6. Семантика вызовов В листинге 15.24 мы привели пример клиента интерфейса дверей, повторно отсылавшего запрос на сервер при прерывании вызова door_call перехватываемым сигналом. Затем мы показали, что при этом процедура сервера вызывается дважды, а не однократно. Потом мы


4.1. Синтаксис и семантика

Из книги Технология XSLT автора Валиков Алексей Николаевич

4.1. Синтаксис и семантика Прежде чем двигаться дальше, введем базовые определения. Языком мы будем называть множество строк (в большинстве случаев это будет бесконечное множество). Каждое выражение (в некоторых источниках вместо "выражение" употребляются термины


1.2. Базовый синтаксис и семантика Ruby

Из книги Программирование на языке Пролог для искусственного интеллекта автора Братко Иван

1.2. Базовый синтаксис и семантика Ruby Выше мы отметили, что Ruby — настоящий динамический объектно-ориентированный язык.Прежде чем переходить к обзору синтаксиса и семантики, упомянем некоторые другие его особенности.Ruby — прагматичный (agile) язык. Он пластичен и поощряет


Семантика паттернов

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

Семантика паттернов Остановимся подробнее на вопросе — что же означает "соответствие узла некоторому паттерну".Прежде всего, заметим, что любой паттерн является также и XPath-выражением. Тогда строгое определение соответствия узла паттерну можно дать следующим


Глава 2 Синтаксис и семантика Пролог-программ

Из книги Раскрутка: секреты эффективного продвижения сайтов автора Евдокимов Николай Семенович

Глава 2 Синтаксис и семантика Пролог-программ В данной главе дается систематическое изложение синтаксиса и семантики основных понятий Пролога, а также вводятся структурные объекты данных. Рассматриваются следующие темы:• простые объекты данных (атомы, числа,


12.2. Программный интерфейс сигналов Linux и POSIX

Из книги HTML5 для веб-дизайнеров автора Джереми Кит

12.2. Программный интерфейс сигналов Linux и POSIX 12.2.1. Посылка сигналов Посылка сигналов от одного процесса другому обычно осуществляется с помощью системного вызова kill(). Этот системный вызов подробно обсуждался в главе 10. Вариантом kill() является tkill(), который не предназначен


Волшебство сеомантики, или Семантика в SEO

Из книги Операционная система UNIX автора Робачевский Андрей М.

Волшебство сеомантики, или Семантика в SEO Даже тот, кого оптимизация затрагивала хотя бы по касательной, знаком с термином «семантическое ядро», а о профессионалах и говорить нечего. Однако с годами это удачное словосочетание закаменело, из него, как из карстовой породы,


5. Семантика

Из книги C++ для начинающих автора Липпман Стенли

5. Семантика HTML не дает нам огромного количества элементов для работы. Тот ассортимент, что у нас есть, скорее похож на ассортимент магазинчика на углу, а не гипермаркета.У нас есть абзацы, списки и заголовки, но нет событий, репортажей и рецептов. HTML дает нам элемент,


Семантика вызова

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

Семантика вызова Вызов локальной процедуры однозначно приводит к ее выполнению, после чего управление возвращается в головную программу. Иначе дело обстоит при вызове удаленной процедуры. Невозможно установить, когда конкретно будет выполняться процедура, будет ли она


18.5.2. Специальная семантика инициализации

Из книги автора

18.5.2. Специальная семантика инициализации Наследование, в котором присутствует один или несколько виртуальных базовых классов, требует специальной семантики инициализации. Взгляните еще раз на реализации Bear и Raccoon в предыдущем разделе. Видите ли вы, какая проблема


5.8. Обработка сигналов POSIX

Из книги автора

5.8. Обработка сигналов POSIX Сигнал — это уведомление процесса о том, что произошло некое событие. Иногда сигналы называют программными прерываниями (software interrupts). Подразумевается, что процесс не знает заранее о том, когда придет сигнал.Сигналы могут посылаться в следующих