CVSROOT:        /cvs/uberbaum
Module name:    winsup
Changes by:     [EMAIL PROTECTED]       2007-02-22 12:34:55

Modified files:
        cygwin         : ChangeLog dcrt0.cc fork.cc thread.cc thread.h 

Log message:
        * dcrt0.cc (child_info_fork::alloc_stack_hard_way): Change sense of 
guard test.
        Increase size of stack reserved and increase size before the current 
stack
        pointer.  Use pointers when doing arithmetic.
        (dll_crt0_1): Initialize exception handler when we notice we're the 
child of a
        fork from non-main thread.
        * fork.cc (frok::parent): Make argument volatile.
        (frok::child): Ditto.
        (lock_signals): New class.
        (lock_pthread): Ditto.
        (hold_everhthing): Ditto.
        (frok::parent): Move atforkprepare and atforkparent to lock_pthread 
class.
        (fork): Make ischild boolean.  Use hold_everything variable within 
limited
        scope to set various mutexes in such a way as to avoid deadlocks.
        * thread.h (pthread_mutex::tid): New variable, active when debugging for
        tracking thread id of owner.
        (pthread_mutex::set_owner): Set tid when debugging.
        * thread.cc (pthread_mutex::pthread_mutex): Clear tid.
        (pthread_mutex::_unlock): Ditto when unlocking.
        (pthread_mutex::fixup_after_fork): Set tid to special value after 
forking since
        owner is unknown.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/ChangeLog.diff?cvsroot=uberbaum&r1=1.3763&r2=1.3764
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/dcrt0.cc.diff?cvsroot=uberbaum&r1=1.317&r2=1.318
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/fork.cc.diff?cvsroot=uberbaum&r1=1.189&r2=1.190
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/thread.cc.diff?cvsroot=uberbaum&r1=1.200&r2=1.201
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/thread.h.diff?cvsroot=uberbaum&r1=1.104&r2=1.105

Reply via email to