Eliminate TSan warning about data race in default_on_abort
authorIvan Maidanski <ivmai@mail.ru>
Tue, 21 Nov 2017 19:10:22 +0000 (22:10 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 21 Nov 2017 19:10:22 +0000 (22:10 +0300)
commit5217c1158cadb8ace825eba764a0f9fd7b72aa63
tree0cb1a1c992e4c851ac217fc048482271c20e0f87
parenta3ee14468b807ecf2d6fa279699b7a9879443bdf
Eliminate TSan warning about data race in default_on_abort

The warning is about a potential race between GC_default_on_abort
(which updates GC_find_leak) and GC_finish_collection (which reads the
variable).

* misc.c [DONT_USE_ATEXIT && !PCR && !SMALL_CONFIG] (skip_gc_atexit):
New static variable; add comment.
* misc.c [DONT_USE_ATEXIT && (PCR || SMALL_CONFIG)] (skip_gc_atexit):
Define as macro (to FALSE).
* misc.c [DONT_USE_ATEXIT] (GC_exit_check): Do not call GC_gcollect
if skip_gc_atexit.
* misc.c [!PCR && !SMALL_CONFIG] (GC_default_on_abort): Do not modify
GC_find_leak.
* misc.c [DONT_USE_ATEXIT && !PCR && !SMALL_CONFIG]
(GC_default_on_abort): Set skip_gc_atexit to true.
misc.c