URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 2009
[ Назад ]

Исходное сообщение
"Perl сервер - проблема"

Отправлено keydet , 21-Авг-03 12:31 
Здравствуйте!
Возникла проблема:
Я создаю сервер, он в for(;;) должен будет слушать порт xxx. Как сделать, чтобы он еще и раз в пять минут, не прерывая прослушивания порта xxx, открывал исходящий порт yyy и слал данные?

Содержание

Сообщения в этом обсуждении
"Perl сервер - проблема"
Отправлено keydet , 21-Авг-03 14:05 
Есть вариант форкнуть сразу еще один, и в нем sleep'ом работать.
Вариант не подходит. Необходимо форкать один в 5 мин.

"Perl сервер - проблема"
Отправлено bug0r , 25-Авг-03 09:13 
>Есть вариант форкнуть сразу еще один, и в нем sleep'ом работать.
>Вариант не подходит. Необходимо форкать один в 5 мин.

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

Я вот не помню, если у дочернего область памяти та же что и у родительского, то можно из дочернего сразу посылать без сигналов.