Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2011-02-15 21:11:50 +0300
committerCorinna Vinschen <corinna@vinschen.de>2011-02-15 21:11:50 +0300
commit8ec562ed284371cbfe6177a977ee1f4328d041c8 (patch)
tree20f78ba61eda80963bceef9244bc70f21beed00f /winsup/cygwin/spawn.cc
parent38e6feddab5c5cb51b22e0d661bdaec62f31bf0d (diff)
* 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.cc3
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;
}