CVSROOT:        /cvs/uberbaum
Module name:    winsup
Changes by:     [email protected]     2013-03-31 12:35:44

Modified files:
        cygwin         : ChangeLog child_info.h cygheap.cc cygheap.h 
                         dcrt0.cc exceptions.cc sigproc.cc thread.cc 
                         thread.h spawn.cc 

Log message:
        * 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.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/ChangeLog.diff?cvsroot=uberbaum&r1=1.6081&r2=1.6082
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/child_info.h.diff?cvsroot=uberbaum&r1=1.97&r2=1.98
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/cygheap.cc.diff?cvsroot=uberbaum&r1=1.173&r2=1.174
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/cygheap.h.diff?cvsroot=uberbaum&r1=1.162&r2=1.163
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/dcrt0.cc.diff?cvsroot=uberbaum&r1=1.442&r2=1.443
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/exceptions.cc.diff?cvsroot=uberbaum&r1=1.414&r2=1.415
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/sigproc.cc.diff?cvsroot=uberbaum&r1=1.410&r2=1.411
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/thread.cc.diff?cvsroot=uberbaum&r1=1.279&r2=1.280
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/thread.h.diff?cvsroot=uberbaum&r1=1.136&r2=1.137
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/spawn.cc.diff?cvsroot=uberbaum&r1=1.340&r2=1.341

Reply via email to