CVSROOT:        /cvs/uberbaum
Module name:    winsup
Changes by:     c...@sourceware.org     2013-04-09 01:01:19

Modified files:
        cygwin         : ChangeLog cygtls.h cygwait.cc cygwait.h 
                         exceptions.cc sigproc.cc sigproc.h 

Log message:
        * cygtls.h (_cygtls::reset_signal_arrived): Actually reset the 
signal_arrived
        event.
        (_cygtls::handle_SIGCONT): Declare ew function.
        * cygwait.cc (is_cw_sig_handle): Delete.
        (is_cw_sig_cont): New convenience define.
        (cygwait): Clear signal if is_cw_sig_cont and we got a SIGCONT.
        * cygwait.h (cw_wait_mask): Add cw_sig_cont.
        * exceptions.cc (sig_handle_tty_stop): Tighten "incyg" region.  Use 
cw_sig_cont
        param for cygwait.  Don't zero signal here outside of lock.
        (sigpacket::setup_handler): Don't check for in_forkee since we will now 
never
        get here in that state.
        (_cygtls::handle_SIGCONT): Define new function.
        (sigpacket::process): Call handle_SIGCONT early to deal with SIGCONT.  
Nuke
        continue_now handling.  Allow SIGKILL to kill a suspended process.  
Delete a
        couple of now-unneeded labels.
        (_cygtls::call_signal_handler): Reorganize setting of incyg within lock.
        * sigproc.cc (pending_signals): Simplify.
        (pending_signals::clear): New method.
        (_cygtls::remove_wq): Reorganize to always close wq.thread_ev if it 
exists to
        avoid handle leaks.
        (sig_clear): Simplify by just calling sigq.clear().
        (sig_dispatch_pending): Always call sigq.pending even in signal thread 
to force
        another loop in wait_sig.
        (sig_send): Remove a "goto out" just before out: label.
        (pending_signals::add): Simplify.
        (pending_signals::del): Delete.
        (pending_signals::next): Delete.
        (wait_sig): Define variable q to be the start of the signal queue.  Just
        iterate through sigq queue, deleting processed or zeroed signals.  Only 
set
        clearwait when the current signal is SIGCHLD.
        * sigproc.h: Add a comment about an unused enum.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/ChangeLog.diff?cvsroot=uberbaum&r1=1.6088&r2=1.6089
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/cygtls.h.diff?cvsroot=uberbaum&r1=1.90&r2=1.91
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/cygwait.cc.diff?cvsroot=uberbaum&r1=1.9&r2=1.10
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/cygwait.h.diff?cvsroot=uberbaum&r1=1.9&r2=1.10
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/exceptions.cc.diff?cvsroot=uberbaum&r1=1.415&r2=1.416
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/sigproc.cc.diff?cvsroot=uberbaum&r1=1.411&r2=1.412
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/sigproc.h.diff?cvsroot=uberbaum&r1=1.125&r2=1.126

Reply via email to