From: Ivan Maidanski Date: Wed, 13 Dec 2017 06:27:32 +0000 (+0300) Subject: Revert 'Workaround TSan hang in GC_free_inner when called from at-fork' X-Git-Tag: v8.0.0~453 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a5e2b030112305ea16e375c9a8952dea27f689ea;p=gc Revert 'Workaround TSan hang in GC_free_inner when called from at-fork' This reverts commit d8e271ea8ab4477fc3ac8edb884bbf858d401343. Because there is a better solution not to skip GC_INTERNAL_FREE in GC_remove_all_threads_but_me if called from GC_atfork_child. --- diff --git a/pthread_support.c b/pthread_support.c index ba4b590c..c5a27f06 100644 --- a/pthread_support.c +++ b/pthread_support.c @@ -789,11 +789,7 @@ STATIC void GC_remove_all_threads_but_me(void) GC_remove_specific_after_fork(GC_thread_key, p -> id); } # endif - /* TODO: To avoid TSan hang (when updating GC_bytes_freed), */ - /* we just skip explicit free of GC_threads entries for now. */ -# ifndef THREAD_SANITIZER - if (p != &first_thread) GC_INTERNAL_FREE(p); -# endif + if (p != &first_thread) GC_INTERNAL_FREE(p); } } GC_threads[hv] = me;