On Tue, Feb 11, 2003 at 02:05:55PM +1100, [EMAIL PROTECTED] wrote:
> > 2. I am surprised that ErrorEvent is not triggered in that case.  Are
> > you using POE 0.25?  If there is a problem in Wheel::Run, it would
> > help greatly if you could submit a test case that reproduces it.
> 
> I was running 0.24 on my system - I have updated this to 0.2501 from CVS and
> the error persists.
> 
> robin:/users/rc6286/workspace/dev/perl/pas > perl test.perl
> Output: Died at -e line 1.
> $VAR1 = 'read';
> $VAR2 = '0';
> $VAR3 = '';
> $VAR4 = 2;
> $VAR5 = 'STDERR';
> $VAR1 = 'read';
> $VAR2 = '0';
> $VAR3 = '';
> $VAR4 = 2;
> $VAR5 = 'STDOUT';

That output indicates ErrorEvent has been triggered twice.  The first
time when the child process closes STDERR, and the second time when it
closes STDOUT.  I added some extra output to the sample code:

[...]

        'close'  =>  sub { delete $_[ HEAP ]->{'_task'}; print "closed\n"; },
        'error'  =>  sub { print "error:\n",Dumper( @_[ ARG0 .. ARG4 ] ) },

Here's the new output, first using perl 5.005_03, and then using 5.6.1.

  2) eyrie:~/public_html/tmp% perl5.00503 robt-casey-errorevent.perl
  Output: Died at -e line 1.
  error:
  $VAR1 = 'read';
  $VAR2 = '0';
  $VAR3 = '';
  $VAR4 = 2;
  $VAR5 = 'STDOUT';
  error:
  $VAR1 = 'read';
  $VAR2 = '0';
  $VAR3 = '';
  $VAR4 = 2;
  $VAR5 = 'STDERR';
  closed

  2) eyrie:~/public_html/tmp% perl robt-casey-errorevent.perl
  Output: Died at -e line 1.
  error:
  $VAR1 = 'read';
  $VAR2 = '0';
  $VAR3 = '';
  $VAR4 = 2;
  $VAR5 = 'STDERR';
  error:
  $VAR1 = 'read';
  $VAR2 = '0';
  $VAR3 = '';
  $VAR4 = 2;
  $VAR5 = 'STDOUT';
  closed

-- Rocco Caputo - [EMAIL PROTECTED] - http://poe.perl.org/

Reply via email to