aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/pinfo.h
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2004-12-06 00:29:41 +0000
committerChristopher Faylor <me@cgf.cx>2004-12-06 00:29:41 +0000
commit8c43a9f82e078662b70a1777f232edd7b37dfa02 (patch)
tree3b291a9542f6cf4ab3b13c76f0777e3023e7f4be /winsup/cygwin/pinfo.h
parent013f043fff95d2f456f97b81cd3bd4ee02000cc0 (diff)
downloadnewlib-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.h7
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 ()