summaryrefslogtreecommitdiff
path: root/source3/lib/talloctort.c
diff options
context:
space:
mode:
authorMartin Pool <mbp@samba.org>2001-12-19 07:36:32 +0000
committerMartin Pool <mbp@samba.org>2001-12-19 07:36:32 +0000
commit7110a867a1eb8284f84d55c7507531a10733f5c7 (patch)
tree7e87e8ab0fb667dfb380988afa4f42ffa764643f /source3/lib/talloctort.c
parentfc00418dfc8863a17a98cb621ab98fa522dff01b (diff)
downloadsamba-7110a867a1eb8284f84d55c7507531a10733f5c7.tar.gz
samba-7110a867a1eb8284f84d55c7507531a10733f5c7.tar.bz2
samba-7110a867a1eb8284f84d55c7507531a10733f5c7.zip
Make TALLOC_CTX and talloc_chunk private to talloc.c.
Add a global singly-linked list of all active talloc pools, so that we can eventually show how much memory is used for different purposes. This also gives a check that pools are not being doubly freed. talloc_init_named now handle a NULL name properly (ie does nothing) Add accessor talloc_pool_name(). (This used to be commit 4c6c03c8c7c18762dd9ef1a1bd88350b8960542f)
Diffstat (limited to 'source3/lib/talloctort.c')
-rw-r--r--source3/lib/talloctort.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/source3/lib/talloctort.c b/source3/lib/talloctort.c
index 61f9532f6e..f43a4e4f9f 100644
--- a/source3/lib/talloctort.c
+++ b/source3/lib/talloctort.c
@@ -41,16 +41,21 @@ int main(void)
p = talloc(ctx[i], size);
if (!p) {
fprintf(stderr,
- "failed to talloc %0.f bytes\n", size);
+ "failed to talloc %.0f bytes\n",
+ (double) size);
exit(1);
}
}
}
for (i = 0; i < NCTX; i++) {
- printf("talloc@%p %-40s %db\n", ctx[i], ctx[i]->name,
- ctx[i]->total_alloc_size);
+ printf("talloc@%p %-40s %db\n", ctx[i],
+ talloc_pool_name(ctx[i]),
+ talloc_pool_size(ctx[i]));
}
+ for (i = NCTX - 1; i >= 0; i--)
+ talloc_destroy(ctx[i]);
+
return 0;
}