chiark / gitweb /
Various Debian fixes.
[mLib] / man / pool.3
index 1e806bf03739b5dd49df65536268ac68af4b0c76..4c3dd5f166a7ec26e194caafba24232d11741f01 100644 (file)
@@ -16,6 +16,7 @@
 pool \- resource pool management
 .\" @pool_alloc
 .\" @pool_strdup
+.\" @pool_init
 .\" @pool_create
 .\" @pool_destroy
 .\" @pool_sub
@@ -28,6 +29,7 @@ pool \- resource pool management
 .nf
 .B "#include <mLib/pool.h>"
 
+.BI "void pool_init(pool *" p ", arena *" a );
 .BI "pool *pool_create(arena *" a );
 .BI "pool *pool_sub(pool *" p );
 .BI "void pool_destroy(pool *" p );
@@ -76,6 +78,11 @@ of avoiding memory leaks.
 A new root pool is created using
 .BR pool_create ,
 passing it an arena from which it can allocate large memory blocks.
+Alternatively, you can allocate a
+.B pool
+structure from somewhere and initialize it by passing its address and an
+arena to
+.BR pool_init .
 .PP
 A subpool is created by calling
 .BR pool_sub ,
@@ -83,10 +90,14 @@ naming the parent pool.
 .PP
 Pools are destroyed by passing them to
 .BR pool_destroy .
-Root pools are completely destroyed, since the memory containing the
-pool structure is allocated from the pool itself.  Subpools, on the
-other hand, are allocated from a parent pool, and may be reused after
-being `destroyed'.
+Pools created by
+.B pool_create
+are completely destroyed, since the memory containing the pool structure
+is allocated from the pool itself.  Subpools and pools allocated by the
+caller and initialized by
+.BR pool_init ,
+on the other hand, are
+allocated from a parent pool, and may be reused after being `destroyed'.
 .SS "Memory allocation"
 Memory is allocated from a pool by calling
 .BR pool_alloc ,