Christopher Faylor 871d0724fa * DevNotes: Add entry cgf-000019.
* dcrt0.cc (do_exit): Just set exit_state to ES_EVENTS_TERMINATE and nuke call
to events_terminate which just set a superfluous flag.
* sigproc.cc (signal_exit_code): New variable.
(setup_signal_exit): Define new function.
(_cygtls::signal_exit): Remove accommodations for closing the signal pipe
handle.
(exit_thread): Just sleep if we're exiting.
(wait_sig): If signal_exit_code is set, just handle bookkeeping signals and
exit ReadFile loop if there is nothing more to process.  Call signal_exit at
end if signal_exit_code is non-zero.
* sigproc.h (setup_signal_exit): Declare new function.
* exceptions.cc (sigpacket::process): Use setup_signal_exit to control exiting
due to a signal.
(exception::handle): Ditto.  Query exit_state rather than defunct exit_already
to determine if we are exiting.
* globals.cc (ES_SIGNAL_EXIT): New enum.
* sync.h (lock_process::release): New function for explicitly unlocking muto.
(lock_process::~lock_process): Use release method.
2012-12-28 18:06:17 +00:00
..
2011-12-17 23:39:47 +00:00
2012-12-14 10:52:34 +00:00
2012-11-30 07:14:36 +00:00
2012-11-23 13:22:47 +00:00
2010-08-30 01:57:37 +00:00
2010-08-30 01:57:37 +00:00
2012-12-28 18:06:17 +00:00
2012-01-01 16:57:25 +00:00
2012-11-30 07:14:36 +00:00
2012-11-26 19:50:45 +00:00
2011-06-06 05:02:13 +00:00
2012-08-09 19:58:53 +00:00
2012-03-19 17:49:40 +00:00
2012-12-21 19:32:43 +00:00
2011-06-06 05:02:13 +00:00
2011-06-06 05:02:13 +00:00
2012-12-28 18:06:17 +00:00
2011-12-09 06:57:21 +00:00
2012-12-28 18:06:17 +00:00
2012-08-16 23:34:45 +00:00
2012-06-03 18:02:45 +00:00
2012-08-14 18:38:22 +00:00
2012-08-16 23:34:45 +00:00
2012-08-16 23:34:45 +00:00
2012-08-16 23:34:45 +00:00
2012-08-16 23:34:45 +00:00
2012-12-28 18:06:17 +00:00
2012-08-16 23:34:45 +00:00
2011-09-01 19:19:29 +00:00
2012-11-23 14:52:07 +00:00
2012-03-19 17:49:40 +00:00
2010-07-19 18:22:40 +00:00
2012-11-23 13:22:47 +00:00
2011-06-06 05:02:13 +00:00
2012-08-16 23:34:45 +00:00
2012-12-21 18:52:00 +00:00
2012-05-12 19:17:17 +00:00
2012-07-21 22:58:20 +00:00
2010-08-30 01:57:37 +00:00
2012-12-28 18:06:17 +00:00
2012-12-28 18:06:17 +00:00
2012-08-16 23:34:45 +00:00
2011-05-04 22:12:15 +00:00
2012-12-28 18:06:17 +00:00
2012-08-16 23:34:45 +00:00
2010-08-30 01:57:37 +00:00
2010-08-30 01:57:37 +00:00
2010-06-21 19:55:12 +00:00
2011-12-30 20:22:28 +00:00
2011-01-20 11:09:21 +00:00
2012-03-04 13:19:21 +00:00