diff options
Diffstat (limited to 'winsup/cygwin/thread.cc')
-rw-r--r-- | winsup/cygwin/thread.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/winsup/cygwin/thread.cc b/winsup/cygwin/thread.cc index f801d5962..a2e2aeb27 100644 --- a/winsup/cygwin/thread.cc +++ b/winsup/cygwin/thread.cc @@ -543,11 +543,13 @@ pthread::exit (void *value_ptr) { if (is_main_tls) { + /* FIXME: Needs locking. */ _cygtls *dummy = (_cygtls *) malloc (sizeof (_cygtls)); *dummy = *_main_tls; _main_tls = dummy; - _main_tls->initialized = false; + _main_tls->initialized = 0; } + cygtls->remove (INFINITE); ExitThread (0); } } |