summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/spawn.cc6
2 files changed, 9 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 602e3a05c..02690d2e1 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2007-01-18 Corinna Vinschen <corinna@vinschen.de>
+ * 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 <corinna@vinschen.de>
+
* mmap.cc (list::hash): Fix type to __ino64_t.
(list::get_hash): Ditto.
(list::set): Add struct stat parameter. Use that instead of calling
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);
}