summaryrefslogtreecommitdiff
path: root/source4/torture/local/talloc.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r2718: - added a talloc_unreference() function as requested by metze.Andrew Tridgell1-17/+121
- added documentation for talloc_unreference() - made the abandoned child logic in talloc_free() clearer and more consistent (This used to be commit a87584c8e3fb06cd3ff29a918f681b5c6c32b9ff)
2007-10-10r2711: added a simple talloc speed tester. I get the following on my laptop:Andrew Tridgell1-0/+55
MEASURING TALLOC VS MALLOC SPEED talloc: 279154 ops/sec malloc: 318758 ops/sec which I think is an acceptable overhead for the increased functionality (This used to be commit 91669ea830c16db2730c5e43a7cad26d9db5c585)
2007-10-10r2709: finally solved the talloc reference problem.Andrew Tridgell1-0/+115
The problem was that the simple "uint_t ref_count;" in a talloc chunk did not give enough information. It told us that a pointer was referenced more than once, but it didn't say who it was referenced by. This means that when the pointer was freed we had no sane way to clean up the reference. I have now replaced ref_count with a "refs" list, which means that references point to the pointer, and the pointer has a linked list of references. So now we can cleanup from either direction without losing track of anything. I've also added a LOCAL-TALLOC smbtorture test that tests talloc behaviour for some common uses. (This used to be commit 911a8d590cb184bcb892810729955c2c4cf02550)