diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2021-07-24 00:31:51 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2021-07-24 00:31:51 +0300 |
commit | 0e578018d47b31691a415a71337272544928b584 (patch) | |
tree | 1266744d6208d4625938cb10cec5eff8b6771c89 /new_hblk.c | |
parent | 743b52a42b0ebc102a012e32ef34b522937f4d8e (diff) | |
download | bdwgc-0e578018d47b31691a415a71337272544928b584.tar.gz |
Eliminate 'accessing GC_dont_gc without lock' in GC_init code defect FP
* allchblk.c (GC_allochblk): Add assertion that GC lock is held on
entrance.
* new_hblk.c (GC_new_hblk): Likewise.
* pthread_support.c (GC_unregister_my_thread_inner): Likewise.
* misc.c [LINT2] (GC_init): Call GC_disable() instead of setting
GC_dont_gc directly.
Diffstat (limited to 'new_hblk.c')
-rw-r--r-- | new_hblk.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -174,6 +174,7 @@ GC_INNER void GC_new_hblk(size_t gran, int kind) GC_bool clear = GC_obj_kinds[kind].ok_init; GC_STATIC_ASSERT((sizeof (struct hblk)) == HBLKSIZE); + GC_ASSERT(I_HOLD_LOCK()); if (GC_debugging_started) clear = TRUE; |