Set reentrancy to 1 for tsd_state_purgatory.
Reentrancy is already set for other non-nominal tsd states (reincarnated and minimal_initialized). Add purgatory to be safe and consistent.
This commit is contained in:
parent
88b0e03a4e
commit
38a48e5741
@ -414,7 +414,10 @@ tsd_fetch(void) {
|
|||||||
|
|
||||||
static inline bool
|
static inline bool
|
||||||
tsd_nominal(tsd_t *tsd) {
|
tsd_nominal(tsd_t *tsd) {
|
||||||
return (tsd_state_get(tsd) <= tsd_state_nominal_max);
|
bool nominal = tsd_state_get(tsd) <= tsd_state_nominal_max;
|
||||||
|
assert(nominal || tsd_reentrancy_level_get(tsd) > 0);
|
||||||
|
|
||||||
|
return nominal;
|
||||||
}
|
}
|
||||||
|
|
||||||
JEMALLOC_ALWAYS_INLINE tsdn_t *
|
JEMALLOC_ALWAYS_INLINE tsdn_t *
|
||||||
|
@ -376,6 +376,7 @@ tsd_do_data_cleanup(tsd_t *tsd) {
|
|||||||
arenas_tdata_cleanup(tsd);
|
arenas_tdata_cleanup(tsd);
|
||||||
tcache_cleanup(tsd);
|
tcache_cleanup(tsd);
|
||||||
witnesses_cleanup(tsd_witness_tsdp_get_unsafe(tsd));
|
witnesses_cleanup(tsd_witness_tsdp_get_unsafe(tsd));
|
||||||
|
*tsd_reentrancy_levelp_get(tsd) = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Loading…
Reference in New Issue
Block a user