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