]> sourceware.org Git - newlib-cygwin.git/commit - winsup/cygwin/thread.cc
* dcrt0.cc (child_info_fork::alloc_stack_hard_way): Change sense of guard test.
authorChristopher Faylor <me@cgf.cx>
Thu, 22 Feb 2007 12:34:55 +0000 (12:34 +0000)
committerChristopher Faylor <me@cgf.cx>
Thu, 22 Feb 2007 12:34:55 +0000 (12:34 +0000)
commit39fc0d36aefea70fa97addbeaf1f8e9ac0fa8232
tree7348ac2619d9f419119ca4d8f2c4b8531947ce2d
parentbd8f891e8ac6ec88bc72cd8c446b6ccba5750821
* 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.
winsup/cygwin/ChangeLog
winsup/cygwin/dcrt0.cc
winsup/cygwin/fork.cc
winsup/cygwin/thread.cc
winsup/cygwin/thread.h
This page took 0.027301 seconds and 5 git commands to generate.