CVSROOT:        /cvs/uberbaum
Module name:    winsup
Changes by:     [email protected]     2012-07-21 22:58:20

Modified files:
        cygwin         : ChangeLog DevNotes cygserver_ipc.h cygthread.cc 
                         cygtls.cc cygtls.h cygwait.cc cygwait.h 
                         dcrt0.cc exceptions.cc fhandler_socket.cc 
                         fhandler_tape.cc fhandler_termios.cc 
                         fhandler_tty.cc fhandler_windows.cc flock.cc 
                         gendef gentls_offsets ntdll.h poll.cc 
                         posix_ipc.cc security.h select.cc signal.cc 
                         sigproc.cc sigproc.h syscalls.cc thread.cc 
                         thread.h tlsoffsets.h wait.cc 

Log message:
        * DevNotes: Add entry cgf-000013.
        * cygserver_ipc.h (ipc_set_proc_info): Use _cygtls::ipc_set_proc_info 
to set
        per-thread signal arrived value.
        * cygthread.cc (cygthread::detach): Use per-thread signal_arrived via
        set_thread_waiting.
        * fork.cc (_cygtls::fixup_after_fork): Clear signal_arrived.
        (_cygtls::remove): Close any signal_arrived handle when thread exists.
        (_cygtls::find_tls): Remove unneeded function.
        * cygtls.h: Update copyright.
        (class _cygtls): Reorganize to help avoid rebuilding newlib when 
structure
        changes.
        (_cygtls::event): Delete.
        (_cygtls::threadkill): Ditto.
        (_cygtls::signal_waiting): Declare new bool.
        (_cygtls::find_tls): Delete declaration.
        (_cygtls::set_threadkill): Ditto.
        (_cygtls::reset_threadkill): Ditto.
        (_cygtls::set_signal_arrived): Declare new function.
        (class set_thread_waiting): Declare new class.
        * cygwait.cc (cw_nowait_storage): Define.
        (cygwait): Set per-thread signal_arrived via set_thread_waiting.  Don't
        special-case _main_tls.
        * cygwait.h (cw_nowait): Define.
        (cw_infinite): Ditto.
        (cygwait): Redefine pathological wait-only case.
        * dcrt0.cc (dll_crt0_0): Remove call to now-defunct events_init().
        (dll_crt0_1): Remove call to now-defunct create_signal_arrived().
        * exceptions.cc: Reflect set_signal_mask() argument reordering 
throughout.
        Remove signal mask synchronization throughout.
        (events_init): Delete definition.
        (mask_sync): Delete now-unneeded mask synchronization.
        (set_signal_mask): Reverse order of arguments to "standard" to, from 
layout.
        Rename "newmask" argument to "setmask".  Remove debugging.
        (sig_handle_tty_stop): Use cancelable_wait rather than WFMO.
        (_cygtls::interrupt_setup): Don't treat "threadkill" events specially.
        Conditionally set signal_arrived depending on whether the thread has 
created it
        or not.
        (sigpacket::process): Reorganize to reflect thread-specific sending of 
signals
        which is more in line with the way it was actually supposed to work.
        * fhandler_socket.cc (get_inet_addr): Use cancelable_wait rather than
        IsEventSignalled to avoid potential race.
        (fhandler_socket::wait_for_events): Set signal_arrived event using
        set_thread_waiting().
        (fhandler_socket::close): Use cygwait for the case of just waiting 10 
ms for a
        signal.
        * fhandler_tape.cc (fhandler_dev_tape::_lock): Use cancelable_wait 
rather than
        WFMO.  Redo switch/case tests accordingly.
        * fhandler_termios.cc (fhandler_termios::bg_check): Use cygwait for 
case of
        just waiting 0 ms for a potential signal.
        * fhandler_tty.cc (fhandler_pty_master::process_slave_output): Use
        cancelable_wait rather than WFSO.
        * fhandler_windows.cc (fhandler_windows::read): Set per-thread 
signal_arrived
        via set_thread_waiting().
        * flock.cc (lf_setlock): Ditto.
        * select.cc (pselect): Ditto.  Set per-thread signal_arrived using
        set_thread_waiting().
        * gendef: Don't special case handling of _cygtls::sig for threads.
        * gentls_offsets: Use #pragma once in tlsoffsets.h.
        * ntdll.h: Use #pragma once.
        * poll.cc: Reflect set_signal_mask() argument reordering.
        * posix_ipc.cc (ipc_mutex_lock): Use cancelable_wait rather than WFMO.
        (ipc_cond_timedwait): Set perl-thread signal arrived using
        set_thread_waiting().
        * security.h: Use #pragma once.
        * signal.cc (abort): Reflect set_signal_mask() argument reordering.
        (clock_nanosleep): Ditto.  Change call to cancelable_wait to properly 
specify
        handling of cancel and interrupt.
        (sigwaitinfo): Remove handling of per-thread event in favor of 
per-thread
        signal_arrived.  Use cancelable_wait rather than WFSO.
        * sigproc.cc (signal_arrived): Delete definition.
        (create_signal_arrived): Ditto.
        * sigproc.h (signal_arrived): Delete declaration.
        (set_signal_mask): Avoid defining as a "C" function.  Don't 
conditionally
        declare.
        (create_signal_arrived): Delete declaration.
        * syscalls.cc (rename): Use cygwait() rather than WFSO.
        * thread.h (fast_mutex::lock): Use cw_infinite rather than LARGE_NULL.
        * wait.cc (wait4): Ditto.
        * thread.cc (pthread_mutex::lock): Ditto.
        (pthread::join): Ditto.
        (semaphore::_wait): Ditto.
        (pthread_kill): Remove set_threadkill() accommodation.
        * tlsoffsets.h: Regenerate.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/ChangeLog.diff?cvsroot=uberbaum&r1=1.5918&r2=1.5919
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/DevNotes.diff?cvsroot=uberbaum&r1=1.17&r2=1.18
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/cygserver_ipc.h.diff?cvsroot=uberbaum&r1=1.10&r2=1.11
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/cygthread.cc.diff?cvsroot=uberbaum&r1=1.91&r2=1.92
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/cygtls.cc.diff?cvsroot=uberbaum&r1=1.82&r2=1.83
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/cygtls.h.diff?cvsroot=uberbaum&r1=1.76&r2=1.77
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/cygwait.cc.diff?cvsroot=uberbaum&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/cygwait.h.diff?cvsroot=uberbaum&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/dcrt0.cc.diff?cvsroot=uberbaum&r1=1.431&r2=1.432
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/exceptions.cc.diff?cvsroot=uberbaum&r1=1.386&r2=1.387
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/fhandler_socket.cc.diff?cvsroot=uberbaum&r1=1.288&r2=1.289
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/fhandler_tape.cc.diff?cvsroot=uberbaum&r1=1.82&r2=1.83
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/fhandler_termios.cc.diff?cvsroot=uberbaum&r1=1.99&r2=1.100
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/fhandler_tty.cc.diff?cvsroot=uberbaum&r1=1.266&r2=1.267
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/fhandler_windows.cc.diff?cvsroot=uberbaum&r1=1.35&r2=1.36
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/flock.cc.diff?cvsroot=uberbaum&r1=1.49&r2=1.50
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/gendef.diff?cvsroot=uberbaum&r1=1.39&r2=1.40
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/gentls_offsets.diff?cvsroot=uberbaum&r1=1.13&r2=1.14
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/ntdll.h.diff?cvsroot=uberbaum&r1=1.140&r2=1.141
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/poll.cc.diff?cvsroot=uberbaum&r1=1.54&r2=1.55
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/posix_ipc.cc.diff?cvsroot=uberbaum&r1=1.28&r2=1.29
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/security.h.diff?cvsroot=uberbaum&r1=1.119&r2=1.120
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/select.cc.diff?cvsroot=uberbaum&r1=1.205&r2=1.206
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/signal.cc.diff?cvsroot=uberbaum&r1=1.110&r2=1.111
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/sigproc.cc.diff?cvsroot=uberbaum&r1=1.386&r2=1.387
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/sigproc.h.diff?cvsroot=uberbaum&r1=1.110&r2=1.111
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/syscalls.cc.diff?cvsroot=uberbaum&r1=1.636&r2=1.637
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/thread.cc.diff?cvsroot=uberbaum&r1=1.269&r2=1.270
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/thread.h.diff?cvsroot=uberbaum&r1=1.130&r2=1.131
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/tlsoffsets.h.diff?cvsroot=uberbaum&r1=1.49&r2=1.50
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/wait.cc.diff?cvsroot=uberbaum&r1=1.41&r2=1.42

Reply via email to