diff options
author | Christopher Faylor <me@cgf.cx> | 2010-09-20 22:28:57 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2010-09-20 22:28:57 +0000 |
commit | df4d2bea3d9446532844b92e3ac38d5472672e6f (patch) | |
tree | 54ba263493d5db5be2247b6d41f8d9e8ad6b9a80 /winsup/cygwin/spawn.cc | |
parent | 73b6b43ed33037f897ad95651f8ac2d1b233b25b (diff) | |
download | cygnal-df4d2bea3d9446532844b92e3ac38d5472672e6f.tar.gz cygnal-df4d2bea3d9446532844b92e3ac38d5472672e6f.tar.bz2 cygnal-df4d2bea3d9446532844b92e3ac38d5472672e6f.zip |
* include/sys/cygwin.h (PID_NOTCYGWIN): New enum.
* spawn.cc (spawn_guts): Set a flag when a process is not a cygwin process.
* fhandler_tty.cc (fhandler_tty_slave::init): Remove previous change. Try a
different method to determine when we should become the process group owner.
* signal.cc (kill0): Remove archaic code which dealt with never-set flag.
Diffstat (limited to 'winsup/cygwin/spawn.cc')
-rw-r--r-- | winsup/cygwin/spawn.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index cef4db81c..2005592f7 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -548,8 +548,9 @@ loop: PWCHAR cwd; cwd = NULL; - if (!real_path.iscygexec()) + if (!real_path.iscygexec ()) { + myself->process_state |= PID_NOTCYGWIN; cygheap->cwd.cwd_lock.acquire (); cwd = cygheap->cwd.win32.Buffer; } @@ -727,7 +728,8 @@ loop: { myself->set_has_pgid_children (); ProtectHandle (pi.hThread); - pinfo child (cygpid, PID_IN_USE); + pinfo child (cygpid, + PID_IN_USE | (real_path.iscygexec () ? 0 : PID_NOTCYGWIN)); if (!child) { syscall_printf ("pinfo failed"); |