diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2011-02-15 18:11:50 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2011-02-15 18:11:50 +0000 |
commit | 8ec562ed284371cbfe6177a977ee1f4328d041c8 (patch) | |
tree | 20f78ba61eda80963bceef9244bc70f21beed00f /winsup/cygwin/spawn.cc | |
parent | 38e6feddab5c5cb51b22e0d661bdaec62f31bf0d (diff) | |
download | cygnal-8ec562ed284371cbfe6177a977ee1f4328d041c8.tar.gz cygnal-8ec562ed284371cbfe6177a977ee1f4328d041c8.tar.bz2 cygnal-8ec562ed284371cbfe6177a977ee1f4328d041c8.zip |
* spawn.cc (spawn_guts): Only set PID_NOTCYGWIN in _P_OVERLAY mode.
Drop flag if creating new process failed.
Diffstat (limited to 'winsup/cygwin/spawn.cc')
-rw-r--r-- | winsup/cygwin/spawn.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index 68e5572a3..df1eb1a68 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -568,7 +568,7 @@ spawn_guts (const char *prog_arg, const char *const *argv, loop: cygheap->user.deimpersonate (); - if (!real_path.iscygexec ()) + if (!real_path.iscygexec () && mode == _P_OVERLAY) myself->process_state |= PID_NOTCYGWIN; if (!cygheap->user.issetuid () @@ -680,6 +680,7 @@ loop: myself->sendsig = myself->exec_sendsig; myself->exec_sendsig = NULL; } + myself->process_state &= ~PID_NOTCYGWIN; res = -1; goto out; } |