.TH pool 3mLib "7 July 2000" "Straylight/Edgeware" "mLib utilities library"
.\" @pool_alloc
.\" @pool_strdup
-.\" @pool_init
.\" @pool_create
.\" @pool_destroy
.\" @pool_sub
.B " ..."
.B "} pool_file;"
.PP
-.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 );
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 ,
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
+is allocated from the pool itself. Subpools, on the other hand, are
allocated from a parent pool, and may be reused after being `destroyed'.
.
.SS "Memory allocation"