* exceptions.cc (signal_exit): Move captive process termintation...
(_cygtls::interrupt_setup): ...into here. (sigpacket::process): Simplify setting of handler when have_execed. (_cygtls::interrupt_setup): Don't call proc_subproc when we've execed. * globals.cc (exit_states): Delete unneeded ES_EXEC_EXIT. * pinfo.cc (pinfo::exit): Change debugging output. Call proc_terminate rather than the now-obsolete sigproc_terminate. Don't set exit_state to ES_EXEC_EXIT. Set exit_state to ES_FINAL later. * sigproc.cc (sigproc_terminate): Delete function. (wait_sig): Don't call proc_subproc if have_execed. * sigproc.h (sigproc_terminate): Delete declaration. * sync.h (lock_process::lock_process): Don't set exit_state to ES_PROCESS_LOCKED. (lock_process::operator LONG): Define.
This commit is contained in:
@@ -52,8 +52,6 @@ public:
|
||||
{
|
||||
locker.acquire ();
|
||||
skip_unlock = exiting;
|
||||
if (exiting && exit_state < ES_PROCESS_LOCKED)
|
||||
exit_state = ES_PROCESS_LOCKED;
|
||||
}
|
||||
void release ()
|
||||
{
|
||||
@@ -65,6 +63,7 @@ public:
|
||||
if (!skip_unlock)
|
||||
release ();
|
||||
}
|
||||
operator LONG () const {return locker.visits; }
|
||||
static void force_release (_cygtls *tid) {locker.release (tid);}
|
||||
friend class dtable;
|
||||
friend class fhandler_fifo;
|
||||
|
Reference in New Issue
Block a user