* 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.
This commit is contained in:
@@ -742,7 +742,7 @@ proc_waiter (void *arg)
|
||||
/* Special case: If the "child process" that died is us, then we're
|
||||
execing. Just call proc_subproc directly and then exit this loop.
|
||||
We're done here. */
|
||||
if (hExeced && vchild->pid == myself->pid)
|
||||
if (hExeced)
|
||||
{
|
||||
/* execing. no signals available now. */
|
||||
proc_subproc (PROC_CLEARWAIT, 0);
|
||||
|
Reference in New Issue
Block a user