4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-02-21 16:26:12 +08:00
Corinna Vinschen c43e9340f1 Fix race condition when waiting for a signal
* cygtls.h (_cygtls::wait_signal_arrived): Renamed from
        set_signal_arrived.
        (_cygtls::set_signal_arrived): New function signalling signal_arrived.
        (_cygtls::reset_signal_arrived): Don't reset will_wait_for_signal.
        (_cygtls::unwait_signal_arrived): New function only resetting
        will_wait_for_signal.
        (class wait_signal_arrived): Rename from set_signal_arrived.
        Accommodate name change throughout Cygwin.
        (wait_signal_arrived::~wait_signal_arrived): Call
        _cygtls::unwait_signal_arrived.  Add comment.
        * cygserver_ipc.h (ipc_set_proc_info): Fetch signal_arrived handle
        via call to _cygtls::get_signal_arrived.
        * exceptions.cc (_cygtls::interrupt_setup): Signal signal_arrived via
        call to _cygtls::set_signal_arrived.
        (_cygtls::handle_SIGCONT): Ditto.
        * fhandler_socket.cc (fhandler_socket::wait_for_events): Generate
        WSAEVENT array prior to entering wait loop.  Add cancel event object
        if available.  Remove calls to pthread_testcancel and just call
        pthread::static_cancel_self if the cancel event object is signalled.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-11-27 14:39:11 +01:00
..
2015-11-18 22:27:54 +01:00
2013-04-30 23:43:08 +00:00
2013-04-23 09:44:36 +00:00
2012-11-23 13:22:47 +00:00
2013-04-23 09:44:36 +00:00
2014-01-04 23:58:32 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2015-04-23 21:57:12 +02:00
2015-04-23 21:57:12 +02:00
2014-04-26 17:38:22 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2014-01-27 20:04:35 +00:00
2015-11-05 18:31:36 +01:00
2015-11-18 22:27:54 +01:00
2015-11-18 22:27:54 +01:00
2015-07-29 13:45:46 +02:00
2015-03-03 12:58:34 +00:00
2013-04-23 09:44:36 +00:00
2015-11-12 11:52:02 +01:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2015-11-18 19:09:47 +01:00
2015-02-24 20:52:57 +00:00
2014-08-14 17:36:24 +00:00
2015-08-17 11:05:43 +02:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2015-11-18 22:27:54 +01:00
2015-08-29 09:32:00 +02:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2015-04-23 21:57:07 +02:00
2015-04-23 22:04:24 +02:00
2015-02-24 20:52:57 +00:00
2013-04-23 09:44:36 +00:00
2013-04-23 09:44:36 +00:00
2015-08-25 22:23:01 +02:00
2015-07-29 13:45:46 +02:00
2013-04-23 09:44:36 +00:00
2013-05-13 19:25:35 +00:00