summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/thread.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/thread.cc')
-rw-r--r--winsup/cygwin/thread.cc4
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);
}
}