Skip to main content.
home | support | download

Back to List Archive

Re: Using filter.pm - problems with open2 in Win 2000

From: David L Norris <dave(at)not-real.webaugur.com>
Date: Mon Jan 19 2004 - 03:07:03 GMT
Add waitpid to windows_fork() in Filter.pm and see if it helps.  This
appears to solve the problem for me.  It doesn't always occur with my
test document.  Only 2 or 3 of my test runs failed on the 65th document.

Here's what I'm testing:

sub windows_fork {
    my ( $self, @args ) =3D @_;


    require IPC::Open2;
    my ( $rdrfh, $wtrfh );

    my @command =3D map { s/"/\\"/g; qq["$_"] }  @args;

    my $pid =3D IPC::Open2::open2($rdrfh, $wtrfh, @command );
   =20
    waitpid $pid,0;
   =20
    # IPC::Open3 uses binmode for some reason (5.6.1)
    # Assume that the output from the program will be in text
    # Maybe an invalid assumption if running through a binary filter

    binmode $rdrfh, ':crlf';

    $self->{pid} =3D $pid;

    return $rdrfh;
}


--=20
 David Norris
  http://www.webaugur.com/dave/
  ICQ - 412039



*********************************************************************
Due to deletion of content types excluded from this list by policy,
this multipart message was reduced to a single part, and from there
to a plain text message.
*********************************************************************
Received on Mon Jan 19 03:07:38 2004