diff options
author | Christopher Faylor <me@cgf.cx> | 2004-12-06 00:29:41 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2004-12-06 00:29:41 +0000 |
commit | 8c43a9f82e078662b70a1777f232edd7b37dfa02 (patch) | |
tree | 3b291a9542f6cf4ab3b13c76f0777e3023e7f4be /winsup/cygwin/pinfo.h | |
parent | 013f043fff95d2f456f97b81cd3bd4ee02000cc0 (diff) | |
download | newlib-8c43a9f82e078662b70a1777f232edd7b37dfa02.zip newlib-8c43a9f82e078662b70a1777f232edd7b37dfa02.tar.gz newlib-8c43a9f82e078662b70a1777f232edd7b37dfa02.tar.bz2 |
* fork.cc (fork_parent): Reinstate "childhProc" protection. Don't close
hProcess handle here since it is used to ensure that a new process isn't
created with the old pid after the old pid exits.
* spawn.cc (spawn_guts): Ditto.
* pinfo.cc (proc_waiter): Don't send any signals if we've execed since this
process doesn't officially exist.
* pinfo.h (pinfo::pid_handle): Eliminate. Just use hProc.
* sigproc.cc (sig_send): Don't send any signals if our sendsig doesn't exist.
That's a sign that we are execing.
(remove_proc): Eliminate pid_handle close.
Diffstat (limited to 'winsup/cygwin/pinfo.h')
-rw-r--r-- | winsup/cygwin/pinfo.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/winsup/cygwin/pinfo.h b/winsup/cygwin/pinfo.h index e460eed..76f5f77 100644 --- a/winsup/cygwin/pinfo.h +++ b/winsup/cygwin/pinfo.h @@ -136,13 +136,12 @@ public: HANDLE hProcess; CRITICAL_SECTION _lock; /* Handle associated with initial Windows pid which started it all. */ - HANDLE pid_handle; class cygthread *wait_thread; void init (pid_t, DWORD, HANDLE = NULL) __attribute__ ((regparm(3))); pinfo () {} - pinfo (_pinfo *x): procinfo (x), hProcess (NULL), pid_handle (NULL) {} - pinfo (pid_t n) : rd_proc_pipe (NULL), hProcess (NULL), pid_handle (NULL) {init (n, 0);} - pinfo (pid_t n, DWORD flag) : rd_proc_pipe (NULL), hProcess (NULL), pid_handle (NULL) {init (n, flag);} + pinfo (_pinfo *x): procinfo (x), hProcess (NULL) {} + pinfo (pid_t n) : rd_proc_pipe (NULL), hProcess (NULL) {init (n, 0);} + pinfo (pid_t n, DWORD flag) : rd_proc_pipe (NULL), hProcess (NULL) {init (n, flag);} void release (); int wait () __attribute__ ((regparm (1))); ~pinfo () |