From 2fca4a3321c0137a0bcaa4692564b249ae26322e Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Wed, 12 May 2010 00:46:55 +0000 Subject: [PATCH] 2882. [bug] Remove memory context from list of active contexts before clearing 'magic'. [RT #21274] --- CHANGES | 3 +++ lib/isc/mem.c | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index d70340ce78..e019a06643 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +2882. [bug] Remove memory context from list of active contexts + before clearing 'magic'. [RT #21274] + 2881. [bug] Reduce the amount of time the rbtdb write lock is held when closing a version. [RT #21198] diff --git a/lib/isc/mem.c b/lib/isc/mem.c index 5b11d08dcf..cefb3aeefb 100644 --- a/lib/isc/mem.c +++ b/lib/isc/mem.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: mem.c,v 1.155 2010/03/04 23:50:34 tbox Exp $ */ +/* $Id: mem.c,v 1.156 2010/05/12 00:46:55 marka Exp $ */ /*! \file */ @@ -1050,14 +1050,14 @@ destroy(isc__mem_t *ctx) { unsigned int i; isc_ondestroy_t ondest; - ctx->common.impmagic = 0; - ctx->common.magic = 0; - LOCK(&lock); ISC_LIST_UNLINK(contexts, ctx, link); totallost += ctx->inuse; UNLOCK(&lock); + ctx->common.impmagic = 0; + ctx->common.magic = 0; + INSIST(ISC_LIST_EMPTY(ctx->pools)); #if ISC_MEM_TRACKLINES