summaryrefslogtreecommitdiff
path: root/pthread_support.c
diff options
context:
space:
mode:
authorivmai <ivmai>2011-05-13 16:40:31 +0200
committerIvan Maidanski <ivmai@mail.ru>2011-07-26 19:06:59 +0200
commit8d76348edc08b652a4357021756862ba27881371 (patch)
tree808e0a460f08810bfcafccb6c374d25385ab3f6f /pthread_support.c
parent25a9011f9979b6104a79b140cf3e56e16bc071d6 (diff)
2011-05-13 Ivan Maidanski <ivmai@mail.ru>
* dyn_load.c (GC_FirstDLOpenedLinkMap): Remove unused "r" local variable. * pthread_support.c (GC_unregister_my_thread_inner): Revert back GC_remove_specific invocation; add a comment. * include/private/thread_local_alloc.h (GC_remove_specific): Revert back. * specific.c: Expand all tabs to spaces. * specific.c (slow_getspecific): Cast qtid to AO_t. * include/private/specific.h (quick_thread_id): Reformat comment. * include/private/specific.h (key_create, setspecific, remove_specific): Remove "extern" keyword. * include/private/specific.h (getspecific): Change type of "qtid" local variable to unsigned long.
Diffstat (limited to 'pthread_support.c')
-rw-r--r--pthread_support.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/pthread_support.c b/pthread_support.c
index 3a3f667..175663c 100644
--- a/pthread_support.c
+++ b/pthread_support.c
@@ -1182,6 +1182,10 @@ STATIC void GC_unregister_my_thread_inner(GC_thread me)
} else {
me -> flags |= FINISHED;
}
+# if defined(THREAD_LOCAL_ALLOC)
+ /* It is required to call remove_specific defined in specific.c. */
+ GC_remove_specific(GC_thread_key);
+# endif
}
GC_API int GC_CALL GC_unregister_my_thread(void)