CVSROOT:        /cvs/src
Module name:    src
Changes by:     [email protected]  2013-07-23 14:15:20

Modified files:
        winsup/cygwin  : ChangeLog ntdll.h thread.cc thread.h 

Log message:
        * ntdll.h (struct _SEMAPHORE_BASIC_INFORMATION): Define.
        (enum _SEMAPHORE_INFORMATION_CLASS): Define.
        (NtQuerySemaphore): Declare.
        * thread.h (class semaphore): Add member startvalue.
        (semaphore::fixup_before_fork): New inline method.
        (semaphore::_fixup_before_fork): Declare.
        * thread.cc (MTinterface::fixup_before_fork): Additionally call
        semaphore::fixup_before_fork.
        (semaphore::semaphore): Set currentvalue to -1.  Set startvalue to
        incoming initializer value.
        (semaphore::_getvalue): Just query semaphore using NtQuerySemaphore
        rather then using WFSO/Release.
        (semaphore::_post): Drop setting currentvalue.  It's not thread-safe.
        (semaphore::_trywait): Ditto.
        (semaphore::_timedwait): Ditto.
        (semaphore::_wait): Ditto.
        (semaphore::_fixup_before_fork): New method, setting currentvalue from
        actual windows semaphore right before fork.
        (semaphore::_fixup_after_fork): Drop kludge from 2013-07-10.  Drop
        FIXME comment.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/ChangeLog.diff?cvsroot=src&r1=1.6198&r2=1.6199
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/ntdll.h.diff?cvsroot=src&r1=1.145&r2=1.146
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/thread.cc.diff?cvsroot=src&r1=1.284&r2=1.285
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/thread.h.diff?cvsroot=src&r1=1.138&r2=1.139

Reply via email to