| 80 | /******************************************************************************/ |
| 81 | |
| 82 | void |
| 83 | prof_alloc_rollback(tsd_t *tsd, prof_tctx_t *tctx) { |
| 84 | cassert(config_prof); |
| 85 | |
| 86 | if (tsd_reentrancy_level_get(tsd) > 0) { |
| 87 | assert((uintptr_t)tctx == (uintptr_t)1U); |
| 88 | return; |
| 89 | } |
| 90 | |
| 91 | if ((uintptr_t)tctx > (uintptr_t)1U) { |
| 92 | malloc_mutex_lock(tsd_tsdn(tsd), tctx->tdata->lock); |
| 93 | tctx->prepared = false; |
| 94 | prof_tctx_try_destroy(tsd, tctx); |
| 95 | } |
| 96 | } |
| 97 | |
| 98 | void |
| 99 | prof_malloc_sample_object(tsd_t *tsd, const void *ptr, size_t size, |
no test coverage detected