* Update internal counters after a memory put.
*/
static void
-mem_putstats(isc_mem_t *ctx, void *ptr, size_t size) {
- atomic_size_t s;
-
- UNUSED(ptr);
-
- s = atomic_fetch_sub_release(&ctx->inuse, size);
+mem_putstats(isc_mem_t *ctx, size_t size) {
+ atomic_size_t s = atomic_fetch_sub_release(&ctx->inuse, size);
INSIST(s >= size);
}
DELETE_TRACE(ctx, ptr, size, file, line);
- mem_putstats(ctx, ptr, size);
+ mem_putstats(ctx, size);
mem_put(ctx, ptr, size, flags);
if (isc_refcount_decrement(&ctx->references) == 1) {
DELETE_TRACE(ctx, ptr, size, file, line);
- mem_putstats(ctx, ptr, size);
+ mem_putstats(ctx, size);
mem_put(ctx, ptr, size, flags);
CALL_LO_WATER(ctx);
isc__mem_put(ctx, old_ptr, old_size, flags FLARG_PASS);
} else {
DELETE_TRACE(ctx, old_ptr, old_size, file, line);
- mem_putstats(ctx, old_ptr, old_size);
+ mem_putstats(ctx, old_size);
new_ptr = mem_realloc(ctx, old_ptr, old_size, new_size, flags);
size_t old_size = sallocx(old_ptr, flags);
DELETE_TRACE(ctx, old_ptr, old_size, file, line);
- mem_putstats(ctx, old_ptr, old_size);
+ mem_putstats(ctx, old_size);
new_ptr = mem_realloc(ctx, old_ptr, old_size, new_size, flags);
DELETE_TRACE(ctx, ptr, size, file, line);
- mem_putstats(ctx, ptr, size);
+ mem_putstats(ctx, size);
mem_put(ctx, ptr, size, flags);
CALL_LO_WATER(ctx);
item = mpctx->items;
mpctx->items = item->next;
- mem_putstats(mctx, item, mpctx->size);
+ mem_putstats(mctx, mpctx->size);
mem_put(mctx, item, mpctx->size, 0);
}
* If our free list is full, return this to the mctx directly.
*/
if (freecount >= freemax) {
- mem_putstats(mctx, mem, mpctx->size);
+ mem_putstats(mctx, mpctx->size);
mem_put(mctx, mem, mpctx->size, 0);
return;
}