Hi Paul,
A process becomes COMPLETE when it is reaped internally to the Forks::Super
module (with CORE::waitpid) but doesn't become REAPED until its pid is
returned from a call to Forks::Super::wait or Forks::Super::waitpid .
Like the regular wait and waitpid calls, each child process id will only
be returned once.
I'm glad your enjoying this module. Please feel free to let me know if you
have any other questions or comments.
-- Marty
On Thu, Mar 4, 2010 at 8:37 AM, Paul Boldra via RT <
bug-Forks-Super@rt.cpan.org> wrote:
Show quoted text> Thu Mar 04 11:37:39 2010: Request 55232 was acted upon.
> Transaction: Ticket created by BOLDRA
> Queue: Forks-Super
> Subject: timedout process are not marked as 'REAPED'
> Broken in: 0.22
> Severity: Normal
> Owner: Nobody
> Requestors: BOLDRA@boldra.org
> Status: new
> Ticket <URL:
https://rt.cpan.org/Ticket/Display.html?id=55232 >
>
>
> Maybe I'm missing something, but when would the state ever be 'REAPED'
> if it's not when it has timed out? I keep getting 'COMPLETED', with
> cygwin and strawberry 5.10.
>
> -----------------------------
> use Forks::Super;
> use Test::More tests => 1;
>
> my $p = fork( sub => sub { sleep 100 }, timeout => 1 );
> sleep 2;
> is( Forks::Super::state($p), 'REAPED', q{state of reaped process is
> 'REAPED'});
> -----------------------------
>
> I really like what you're trying to do in this module. Nice work!
>