X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/mLib/blobdiff_plain/b5ea4de3ac1c61ef84c21f4e3ceff2181d23e456..9787c8a89b4df0e13946ea3e63025c4d9f5900aa:/man/mLib.3 diff --git a/man/mLib.3 b/man/mLib.3 index cb5ee4a..fc10096 100644 --- a/man/mLib.3 +++ b/man/mLib.3 @@ -39,6 +39,12 @@ module, and stands alone. It's used mainly by the memory allocation modules to raise exceptions when there's no more memory to be had. .SS "Memory allocation" The +.BR arena (3) +module provides an abstraction of memory allocation. By writing +appropriate arena implementations, a client program can control where +and how memory is allocated for various structures. +.PP +The .BR alloc (3) module provides simple veneers onto traditional memory allocation functions like @@ -50,7 +56,9 @@ and doesn't actually depend on .B strdup being defined in the library) which raise exceptions when there's not -enough memory left. +enough memory left. These work through the +.B arena +layer, so that the caller can control memory allocation. .PP The .BR sub (3) @@ -64,6 +72,12 @@ The .B track module (not yet documented) is a simple memory allocation tracker. It can be handy when trying to fix memory leaks. +.PP +The +.BR pool (3) +module maintains resource pools which can manage memory and other +resources, all of the resources held in a pool being destroyed along +with the pool itself. .SS "String handling" The .BR str (3)