diff options
Diffstat (limited to 'winsup/cygwin/thread.cc')
-rw-r--r-- | winsup/cygwin/thread.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/winsup/cygwin/thread.cc b/winsup/cygwin/thread.cc index 699b34479..183b9b8d5 100644 --- a/winsup/cygwin/thread.cc +++ b/winsup/cygwin/thread.cc @@ -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 (); |