* cygheap.cc (init_cygheap::find_tls): Add a comment.

* dcrt0.cc (parent_sigmask): Delete.
(dll_crt0_1): Use spawn_info->moreinfo->sigmask rather than saved parent signal
mask.
* thread.cc (pthread::thread_init_wrapper): Add comment stressing the
importance of maintaining ordering of statements.
This commit is contained in:
Christopher Faylor
2013-04-07 23:53:00 +00:00
parent 4537e80a3a
commit f653639a22
4 changed files with 16 additions and 6 deletions

View File

@@ -1912,6 +1912,9 @@ DWORD WINAPI
pthread::thread_init_wrapper (void *arg)
{
pthread *thread = (pthread *) arg;
/* This *must* be set prior to calling set_tls_self_pointer or there is
a race with the signal processing code which may miss the signal mask
settings. */
_my_tls.sigmask = thread->parent_sigmask;
thread->set_tls_self_pointer ();