The attached patch (against perl-5.6.1-1-src.tar.gz from the contrib/perl
directory) fixes this problem. Without the patch, pp_system would use
either do_aspawn() or do_spawn() instead of vfork().
Cheers,
Brian
On Fri, 22 Jun 2001, Brian Jepson wrote:
> Hi,
>
> I'm running cygwin 1.3.2 on Windows 2000. I have one script that wants to
> call another using system(). When I do this, the second script switches
> into using Windows filenames. Here is the first script:
>
> #!/usr/bin/perl
> system("/home/Administrator/foo.pl");
>
> and the second script:
>
> #!/usr/bin/perl
> print $0, "\n";
>
> The output I get when I run /home/Administrator/foo.pl is:
>
> /home/Administrator/foo.pl
>
> However, when I run the first script, I get this:
>
> C:\cygwin\home\Administrator\foo.pl
>
>
> Thanks,
>
> Brian
>
>
>
>
$ diff -c perl-5.6.1-1-orig/pp_sys.c perl-5.6.1-1/pp_sys.c
*** perl-5.6.1-1-orig/pp_sys.c Sun Dec 17 23:45:02 2000
--- perl-5.6.1-1/pp_sys.c Fri Jun 22 19:57:00 2001
***************
*** 3789,3795 ****
}
}
PERL_FLUSHALL_FOR_CHILD;
! #if (defined(HAS_FORK) || defined(AMIGAOS)) && !defined(VMS) && !defined(OS2) &&
!defined(__CYGWIN__)
if (PerlProc_pipe(pp) >= 0)
did_pipes = 1;
while ((childpid = vfork()) == -1) {
--- 3789,3795 ----
}
}
PERL_FLUSHALL_FOR_CHILD;
! #if (defined(HAS_FORK) || defined(AMIGAOS)) && !defined(VMS) && !defined(OS2)
if (PerlProc_pipe(pp) >= 0)
did_pipes = 1;
while ((childpid = vfork()) == -1) {
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple