Строки 31-43. Цикл проверки состояния. По мере обработки входящих соединений дочерние процессы обновляют хеш % status, и эти изменения немедленно становятся доступными для родительского процесса. Однако было бы крайне неэффективным создание цикла, предназначенного только для проверки наличия изменений в хеше % status. Обязанность сообщать об изменениях в хеше % status возлагается на дочерние процессы, а родительский процесс ожидает поступления сигнала. Предусматривается применение двух сигналов: alrm, отправляемого дочерним процессом при внесении им изменений в хеш % status, и chld, отправляемого операционной системой при завершении работы дочернего процесса по любой причине,
Программа входит в цикл, который завершается после того, как переменная $done принимает истинное значение. В начале цикла вызывается функция sleep (), которая переводит процесс в состояние ожидания до получения некоторого сигнала. После возврата из функции sleep () обрабатывается хеш % status точно как же, как и прежде, — запуск новых дочерних процессов и уничтожение старых для поддержания числа простаивающих дочерних процессом между нижней и верхней отметками.
Строки 44-47. Завершение работы. После выхода из главного цикла вызывается подпрограмма kill_children() модуля Daemon для завершения работы всех действующих дочерних процессов, выполняется вывод определенных диагностических сообщений и сервер останавливается.
Строки 48-56. Подпрограмма make_new_child (). Эта подпрограмма аналогична применяемой в первой версии адаптивного сервера, за исключением того, что в ней больше не осуществляется управление каналом. Как и в предыдущей версии, вызывается подпрограмму launch_child () модуля Daemon и в качестве параметра с указанием процедуры обратного вызова применяется подпрограмма cleanup_child ( ) .
2014-12-18 23:34:40
это интересно Всем известно универсальное средство упаковки и для бытовых отходов и для удобство доставки. Конечно же это - пoлимepныe изделия из ПВД и ПНД, способные принимать любые формы, даже самые неожиданные. Заказать необходимое можно на сайте http://plenka40.ru/ упаковка для склада , также здесь можно подобрать необходимые размеры, цвет, материал.