summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/spawn.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2007-01-01 19:37:19 +0000
committerChristopher Faylor <me@cgf.cx>2007-01-01 19:37:19 +0000
commite734fdcae9056b490887566967abc5be72982e16 (patch)
tree99b659a28c17692fbd983e9e95c2499f9d3dc29e /winsup/cygwin/spawn.cc
parent724dbeea36fd72b07123431c3c2c3fd1c059c5ec (diff)
downloadcygnal-e734fdcae9056b490887566967abc5be72982e16.tar.gz
cygnal-e734fdcae9056b490887566967abc5be72982e16.tar.bz2
cygnal-e734fdcae9056b490887566967abc5be72982e16.zip
* spawn.cc (spawn_guts): Don't expect synchronization from a non-cygwin
_P_NOWAIT process.
Diffstat (limited to 'winsup/cygwin/spawn.cc')
-rw-r--r--winsup/cygwin/spawn.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc
index 352e51c87..44bf8ee24 100644
--- a/winsup/cygwin/spawn.cc
+++ b/winsup/cygwin/spawn.cc
@@ -673,7 +673,10 @@ loop:
sigproc_printf ("spawned windows pid %d", pi.dwProcessId);
- synced = ch.sync (pi.dwProcessId, pi.hProcess, INFINITE);
+ if ((mode == _P_DETACH || mode == _P_NOWAIT) && !ch.iscygwin ())
+ synced = false;
+ else
+ synced = ch.sync (pi.dwProcessId, pi.hProcess, INFINITE);
switch (mode)
{