On Dec 19, 2007 7:23 AM, A. Pagaltzis <[EMAIL PROTECTED]> wrote:
> I wish someone would help me fix Proc::Fork on Windows. I got
> two tickets about it and a bunch of Testers failures, but several
> attempts to make it work have failed and my repeated pleas have
> fallen on deaf ears.  :-)

I poked around with it a bit.  One think I noticed immediately is that
you have "-T" switches in your shebang lines on the test files.

As I've reported elsewhere, Perl on windows has what I call the
"taint-fork bug" -- forking while under taint just segfaults.

  > perl -Te fork

It still segfaulted on the 01-real.t test, but it does so after the
fork when calling the anonymous subroutines instead of on the fork
itself.

With a little more poking around, the problem lies in your
modification of @_ and use of goto &_do_fork.  Changing the relevent
lines to

  my @args = @{ $config}{ qw( parent child error retry ) };
  undef $config;
  _do_fork(@args);

passes all tests.  You lose the nice callstack, but it doesn't
segfault.  I'm guessing that's really an issue with goto and
pseudoforks or threads on Windows.

(As an aside, I did try it with Sub::Uplevel and it ran the child
branch bug segfaulted calling the parent branch -- not sure why.)

Regards,
David

Reply via email to