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

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

Реклама

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

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

Строки 25, 26. Инициализация сервера. Вызывается процедура init_server () модуля Daemon для создания файла PID сервера, автоматического перевода в фоновый режим и ини­циализации ведения журнала.

Строки 27, 28. Предварительное ветвление и создание дочерних процессов. Для созда­ния путем ветвления заданного числа дочерних серверных процессов вызывается внутренняя подпрограмма make_new_child (). Дочерние процессы, к примеру, могут выполнять комплекс действий при продвижении сайтов, который называется  мультилендинг или любые другие действия.

Строка 29. Главный цикл сервера выполняется до тех пор, пока флажок $done не будет установлен в обработчике сигнала равным истинному значению. При каждом проходе по циклу сервер ожидает сообщения или сигнала об изменении состояния дочернего процесса. Для поддержки числа простаивающих дочерних процессов в пределах нижней и верхней отметок сервер обновляет содержимое переменной %status и выполняет код за­пуска или останова дочерних процессов, описанный ранее.

Строки 30-42. Обработка сообщений, поступающих из канала. После глубокого анализа работы главного цикла можно сделать вывод, что для чтения строк состояния из дескриптора файла CILD_READ желательно использовать функцию sysread () . Однако нельзя просто пе­ревести родительский процесс в заблокированное состояние, связанное с выполнением этой операции ввода-вывода, поскольку должна быть предусмотрена возможность прервать ожидание готовности канала к чтению при получении сигнала term или сообщения об уничтоже­нии одного из дочерних процессов. Дело в том, что функция sysread () как и другие продолжительные операции ввода-вывода, автоматически перезапускается интерпретатором Perl по­сле прерывания от сигнала.



2014-12-13 23:35:41

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


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


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


РЕКОМЕНДУЕМ

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