* exceptions.cc (sigtid): Remove declaration.
(handle_exceptions): Use _sig_tls rather than sigtid to determine if this is the signal thread. (set_signal_mask): Ditto for conditionalized CGF code. * pinfo.cc (pinfo::exit): Exit the thread if we forcefully terminated the main thread * sigproc.cc (sigtid): Delete. (_sig_tls): Define. (sig_clear): Use _sig_tls rather than sigtid to determine if this is the signal thread. (sig_dispatch_pending): Ditto. (wait_sig): Set _sig_tls here. * dcrt0.cc (do_exit): Move sigproc_terminate call later since signal handling was still needed for subsequent stuff. Call sigproc_terminate with new exit_state value. * pinfo.cc (pinfo::exit): Call sigproc_terminate with new exit_state value. * sigproc.cc (proc_terminate): Remove unnecessary (void) parameter. (sigproc_terminate): Ditto. Add new argument to accept exit state to be set. (wait_sig): Reorganize __SIGEXIT handling. Add more debugging output. * winsup.h (sigproc_terminate): Declare with new exit_state argument. (exit_states): Reorganize to reflect new exit ordering of sigproc_terminate.
This commit is contained in:
@@ -193,10 +193,10 @@ enum exit_states
|
||||
ES_THREADTERM,
|
||||
ES_SIGNAL,
|
||||
ES_CLOSEALL,
|
||||
ES_SIGPROCTERMINATE,
|
||||
ES_TITLE,
|
||||
ES_HUP_PGRP,
|
||||
ES_HUP_SID,
|
||||
ES_SIGPROCTERMINATE,
|
||||
ES_TITLE,
|
||||
ES_TTY_TERMINATE,
|
||||
ES_FINAL
|
||||
};
|
||||
|
Reference in New Issue
Block a user