Christopher Faylor 8f8eeb70ba * child_info.h (cygheap_exec_info::sigmask): Declare new field.
* cygheap.cc (init_cygheap::find_tls): Rename threadlist_ix -> ix.  Only take
one pass through thread list, looking for eligible threads to signal.  Set a
new param indicating that function has found a sigwait* mask.
* cygheap.h (init_cygheap::find_tls): Reflect new parameter.
* dcrt0.cc (parent_sigmask): New variable.
(child_info_spawn::handle_spawn): Save parent's signal mask here.
(dll_crt0_1): Restore parent's signal mask to tls sigmask as appropriate.  Call
sig_dispatch_pending to flush signal queue when we can finally do something
with signals.
* exceptions.cc (sigpacket::process): Avoid attempting to handle signals if we
haven't finished initializing.  Rely on the fact that find_tls will do mask
checking and don't do it again.  Delete ill-named 'dummy' variable.
* sigproc.cc (cygheap_exec_info::alloc): Save calling thread's signal mask in
new sigmask field.
(wait_sig): Try to debug when WFSO fails and DEBUGGING is defined.
* thread.cc (pthread::set_tls_self_pointer): Make this a true automatic method
rather than inexplicably relying on a thread parameter.
(pthread::thread_init_wrapper): Accommodate set_tls_self_pointer change to
non-static.  Initialize sigmask before setting tid or suffer signal races.
* ehread.h (pthread::set_tls_self_pointer): Make non-static, delete parameter.
2013-03-31 12:35:44 +00:00
..
2011-12-17 23:39:47 +00:00
2009-01-21 17:14:39 +00:00
2012-11-30 07:14:36 +00:00
2012-11-23 13:22:47 +00:00
2009-09-22 02:49:15 +00:00
2009-09-22 02:49:15 +00:00
2010-01-01 19:28:15 +00:00
2012-01-01 16:57:25 +00:00
2009-01-21 17:14:39 +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
2013-01-21 07:42:02 +00:00
2013-01-21 07:42:02 +00:00
2012-03-19 17:49:40 +00:00
2009-07-07 20:12:44 +00:00
2013-01-31 05:26:47 +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
2011-09-01 19:19:29 +00:00
2013-01-21 16:21:23 +00:00
2012-03-19 17:49:40 +00:00
2010-07-19 18:22:40 +00:00
2013-01-31 05:26:47 +00:00
2013-01-31 05:26:47 +00:00
2012-08-16 23:34:45 +00:00
2011-05-04 22:12:15 +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
2012-03-04 13:19:21 +00:00