diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 602e3a05c..02690d2e1 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2007-01-18 Corinna Vinschen + + * spawn.cc (spawn_guts): Don't set cwd for non-Cygwin child processes + on NT to allow starting them in virtual directories. + 2007-01-18 Corinna Vinschen * mmap.cc (list::hash): Fix type to __ino64_t. diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index b064a3141..4e352ac5b 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -507,7 +507,8 @@ loop: TRUE, /* inherit handles from parent */ c_flags, envblock, /* environment */ - real_path.iscygexec () ? NULL : cygheap->cwd.win32, + wincap.is_winnt () || real_path.iscygexec () ? + NULL : cygheap->cwd.win32, &si, &pi); } @@ -542,7 +543,8 @@ loop: TRUE, /* inherit handles from parent */ c_flags, envblock, /* environment */ - real_path.iscygexec () ? NULL : cygheap->cwd.win32, + wincap.is_winnt () || real_path.iscygexec () ? + NULL : cygheap->cwd.win32, &si, &pi); }