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:
Qi Wang 2020-01-16 13:00:35 -08:00 committed by Qi Wang
parent 88b0e03a4e
commit 38a48e5741
2 changed files with 5 additions and 1 deletions

View File

@ -414,7 +414,10 @@ tsd_fetch(void) {
static inline bool
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 *

View File

@ -376,6 +376,7 @@ tsd_do_data_cleanup(tsd_t *tsd) {
arenas_tdata_cleanup(tsd);
tcache_cleanup(tsd);
witnesses_cleanup(tsd_witness_tsdp_get_unsafe(tsd));
*tsd_reentrancy_levelp_get(tsd) = 1;
}
void