Any-Daemon
view release on metacpan or search on metacpan
lib/Any/Daemon.pm view on Meta::CPAN
283284285286287288289290291292293294295296297298299300301302303
}
# Start enough childs
my
$silence_warn
= 0;
BIRTH:
while
(
keys
%childs
<
$max_childs
)
{
my
$kid
=
fork
;
unless
(
defined
$kid
)
{ alert
"cannot fork new children"
unless
$silence_warn
++;
sleep
1;
# wow, back down! Probably too busy.
$silence_warn
= 0
if
$silence_warn
==SLOW_WARN_AGAIN_AFTER;
next
BIRTH;
}
if
(
$kid
==0)
{
# new child
$SIG
{HUP} =
$SIG
{TERM} =
$SIG
{INT}
=
sub
{info
'child says bye'
;
exit
0};
# I'll not handle my parent's kids!
( run in 0.525 second using v1.01-cache-2.11-cpan-5f2e87ce722 )