Any-Daemon

 view release on metacpan or  search on metacpan

lib/Any/Daemon.pm  view on Meta::CPAN

283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
  }
 
  # 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 )