I must be missing something obvious, as I'm getting in start at ./wheel line 14. starting ... at ./wheel line 27. killing process at ./wheel line 30. 7353: !!! Child process PID:7354 reaped: 7353: !!! Your program may not be using sig_child() to reap processes. 7353: !!! In extreme cases, your program can force a system reboot 7353: !!! if this resource leakage is not corrected.
although the code catches the sig_child: use strict; use warnings; use POE; use POE::Wheel::Run; my $session = POE::Session->create( inline_states => { _start => sub { warn "in start"; $_[HEAP]->{wheel} = POE::Wheel::Run->new( Program => "sleep", ProgramArgs => [60], CloseEvent => "closing", ErrorEvent => "closing", StderrEvent => "ignore", ); $poe_kernel->sig_child($_[HEAP]->{wheel}->PID, "sig_child"); $poe_kernel->sig( "INT" => "down" ); warn "starting ..."; }, down => sub { warn "killing process"; $_[HEAP]->{wheel}->kill(); }, sig_child => sub { warn("waitpid for " . [ARG1]); waitpid $_[ARG1], 0; }, }); $poe_kernel->run(); Looks like the 'sig_child' handler is never run ... suggestions? -- Mike Mike Schilli m...@perlmeister.com