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

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

Реклама

Perl для IP-Телефонии (39 – предобработка мультипроцессов, часть 14)

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

В этой версии сервера применяется другая методика (для разнообразия). Вместо блокировки после вызова функции accept (), используется блокировка после вызова метода IO::Select->can_read (). В отличие от вызовов системы ввода-вывода, функций select () не перезапускается автоматически. При получении сигнала INT или ТERM выполнение метода can_read () прерывается, и он возвращает значение undef. Это обнаруживается и выполняется возврат в начало цикла, где распознается изменения значения переменной $DONE. Если вместо этого метод can_read () возвращает истинное значение, это значит, что имеется входящее соединение, например, инициализирующее контент интернет-магазина  . Теперь можно перейти к вызову метода accept () объекта сокета. В случае его успешного выполнения вызывается подпрограмм launch_child (), экспортируемая модулем Daemon.

Напомним, что подпрограмма launch_child () представляет собой оболочку функции fork (), которая обеспечивает запуск дочерних процессов в условиях блокировки сигналов и обновляет глобальную переменную пакета, содержащую идентификаторы всех активных дочерних процессов. Подпрограмма launch_child () умеет принимать ряд параметров, в том числе указатель на процедуру обратного вызова, которая должна быть вызвана во время “уборки” дочернего процесса. В этом случае нет необходимости обрабатывать данное событие, поэтому параметры udfl программе не передаются.

Если подпрограмма launch_child () возвращает PID дочернего процесса, равный 0, это значит, что управление находится в дочернем процессе.

2014-12-06 22:00:02

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


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


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


РЕКОМЕНДУЕМ

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