X-Git-Url: https://git.distorted.org.uk/~mdw/mLib/blobdiff_plain/fbf20b5bd30e237c383ed290428261f28dfa5803..76a7638e4b77ace1b96e1399f8a11e09fb3afede:/man/pool.3 diff --git a/man/pool.3 b/man/pool.3 index 1e806bf..4c3dd5f 100644 --- a/man/pool.3 +++ b/man/pool.3 @@ -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 " +.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 ,