summaryrefslogtreecommitdiffstats
path: root/contrib/bind9/lib/isc/mem.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bind9/lib/isc/mem.c')
-rw-r--r--contrib/bind9/lib/isc/mem.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/contrib/bind9/lib/isc/mem.c b/contrib/bind9/lib/isc/mem.c
index 59f5924..aeacfc0 100644
--- a/contrib/bind9/lib/isc/mem.c
+++ b/contrib/bind9/lib/isc/mem.c
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: mem.c,v 1.145.120.4.24.2 2010/08/12 23:46:25 tbox Exp $ */
+/* $Id: mem.c,v 1.145.120.9 2010-08-11 23:45:49 tbox Exp $ */
/*! \file */
@@ -72,7 +72,7 @@ struct debuglink {
};
#define FLARG_PASS , file, line
-#define FLARG , const char *file, int line
+#define FLARG , const char *file, unsigned int line
#else
#define FLARG_PASS
#define FLARG
@@ -221,6 +221,7 @@ add_trace_entry(isc_mem_t *mctx, const void *ptr, unsigned int size
{
debuglink_t *dl;
unsigned int i;
+ unsigned int mysize = size;
if ((isc_mem_debugging & ISC_MEM_DEBUGTRACE) != 0)
fprintf(stderr, isc_msgcat_get(isc_msgcat, ISC_MSGSET_MEM,
@@ -232,10 +233,10 @@ add_trace_entry(isc_mem_t *mctx, const void *ptr, unsigned int size
if (mctx->debuglist == NULL)
return;
- if (size > mctx->max_size)
- size = mctx->max_size;
+ if (mysize > mctx->max_size)
+ mysize = mctx->max_size;
- dl = ISC_LIST_HEAD(mctx->debuglist[size]);
+ dl = ISC_LIST_HEAD(mctx->debuglist[mysize]);
while (dl != NULL) {
if (dl->count == DEBUGLIST_COUNT)
goto next;
@@ -270,7 +271,7 @@ add_trace_entry(isc_mem_t *mctx, const void *ptr, unsigned int size
dl->line[0] = line;
dl->count = 1;
- ISC_LIST_PREPEND(mctx->debuglist[size], dl, link);
+ ISC_LIST_PREPEND(mctx->debuglist[mysize], dl, link);
mctx->debuglistcnt++;
}
@@ -877,13 +878,13 @@ destroy(isc_mem_t *ctx) {
unsigned int i;
isc_ondestroy_t ondest;
- ctx->magic = 0;
-
LOCK(&lock);
ISC_LIST_UNLINK(contexts, ctx, link);
totallost += ctx->inuse;
UNLOCK(&lock);
+ ctx->magic = 0;
+
INSIST(ISC_LIST_EMPTY(ctx->pools));
#if ISC_MEM_TRACKLINES
OpenPOWER on IntegriCloud