Get rid of lock overlap in prof_recent_alloc_reset

This commit is contained in:
Yinan Zhang 2020-01-14 16:10:23 -08:00
parent bd3be8e0b1
commit 7b67ed0b5a

View File

@ -182,12 +182,15 @@ prof_recent_alloc_reset(tsd_t *tsd, edata_t *edata) {
if (dalloc_tctx != NULL) { if (dalloc_tctx != NULL) {
nstime_update(&recent->dalloc_time); nstime_update(&recent->dalloc_time);
recent->dalloc_tctx = dalloc_tctx; recent->dalloc_tctx = dalloc_tctx;
dalloc_tctx = NULL;
} }
} else if (dalloc_tctx != NULL) { }
malloc_mutex_unlock(tsd_tsdn(tsd), &prof_recent_alloc_mtx);
if (dalloc_tctx != NULL) {
/* We lost the rase - the allocation record was just gone. */ /* We lost the rase - the allocation record was just gone. */
decrement_recent_count(tsd, dalloc_tctx); decrement_recent_count(tsd, dalloc_tctx);
} }
malloc_mutex_unlock(tsd_tsdn(tsd), &prof_recent_alloc_mtx);
} }
static void static void