libarena provides a custom memory allocator interface specification and several allocator implementations. It includes a flat arena allocator, an object pool allocator, and a wrapper around malloc(3) which exports the allocator interface.
|Tags||Software Development Libraries|
Release Notes: The makefiles are no longer recursive, so this should build and install using either GNU Make or BSD pmake.
Release Notes: A pathological scenario with many increasing sequential reallocations was addressed to improve ease-of-use for the included stack-based arena allocator.
Release Notes: A critical offset bug in pool_realloc() was fixed. The previous data was copied to the base pointer, whence the bookkeeping is kept, and not to the offset, which is returned to the caller. This could lead to memory corruption.
Release Notes: NULL pointers passed to all free and realloc methods are handled, obeying the rules of standard free(3) and realloc(3). The ARENA_STDLIB object now returns unadulterated system pointers. ARENA_STDLIB_ALIGNED is used for a malloc(3) wrapper which will align to the specified boundary.
Release Notes: This release merges some public interfaces under <arena/proto.h>. It integrates some build features from libevnet.