Личный кабинет    
Назад К началу Вперед Карта сайта Телефонные коды стран и городов Мира Анализатор тарифов Служб IP-Телефонии и Рейтинг

Разделы
Введение
Литература
Операторы
Оборудование
Анализатор
Сотрудничество
Печать карт
Новости
Опросник
Коды
Справка
Работа
Каталог
Хостинг
Личный кабинет

Реклама

Perl для IP-Телефонии (38 – сервер с правами суперпользователя, часть 18)

предыдущая часть ««»» следующая часть

Однако есть небольшой, по реальный риск, что входящий сигнал HUP поступит в тот опасный период, когда путем ветвления будет создан дочерний процесс, но еще не появится возможность переустановить обработчик $SIG{HUP}. Вот здесь также описано как поддержать безопасность вашего Windows XP. Самый безопасный порядок действий для родительского процесса состоит в том, чтобы временно заблокировать сигналы пе­ред выполнением ветвления, а затем разблокировать их и в дочернем, и в родитель­ском процессах после переустановки обработчиков сигналов дочернего процесса. Такую возможность предоставляет функция sigprocmask(), которая может быть получена из модуля POSIX.

$result = sigprocmask ($operation, $newsigset [, $oldsigset])

Функция sigprocmask () манипулирует так называемой “маской сигнала” процесса — двоичной маской, которая управляет тем, какие сигналы будет (или не будет) получать процесс. По умолчанию процессы получают все сигналы операционной системы, но можно заблокировать лишь некоторые из них или все, установив новую маску сигнала. Сигналы не отбрасываются, а переводятся в состояние ожидания до тех пор, пока процесс не разблокирует сигналы.

Первым параметром функции sigprocmask ( ) является операция, которая должна быть выполнена с маской, а второй параметр задает набор сигналов, для которого должно быть выполнено указанное действие. Третий необязательный параметр получит копию старой маски процесса.

В качестве операции sigprocmask () может быть указана одна из следующих трех констант.

SIG_BLOCK. Сигналы, обозначенные в наборе сигналов, добавляются к маске сигнала процес­са, что приводит к их блокированию.

SIG_UNBLOCK. Сигналы, обозначенные в наборе сигналов, удаляются из маски сигнала про­цесса, что приводит к их разблокированию.

SIG_SETMASK. Маска сигнала процесса полностью очищается и заменяется сигналами, ука­занными в наборе сигналов.



2014-11-20 01:24:53

предыдущая часть ««»» следующая часть


ДОКУМЕНТАЦИЯ VoIP


НОВОСТИ СВЯЗИ


РЕКОМЕНДУЕМ

 
[ стандарты | обзор | оборудование | анализатор | коды | новости | карта | партнерам | Мы ВКонтаке ]
Запрещается копировать материалы сайта без уведомления авторов.
С вопросами и предложениями обращайтесь со страницы контактов
Copyright c 1999-2024 IPTop.Net
 
IP-Телефония, Интернет Телефония, Компьютерная телефония