Memory Allocation Library Functions mapmalloc(3MALOC)
NAME
mapmalloc - memory allocator
SYNOPSIS
cc [ flag ... ] file ... -lmapmalloc [ library ... ]
#include
void *malloc(sizet size);
void *calloc(sizet nelem, sizet elsize);
void free(void * ptr);
void *realloc(void *ptr, sizet size);
DESCRIPTION
The collection of malloc functions in this library use
mmap(2) instead of sbrk(2) for acquiring new heap space.
The functions in this library are intended to be used only
if necessary, when applications must call sbrk(), but need
to call other library routines that might call malloc. The
algorithms used by these functions are not sophisticated.
There is no reclaiming of memory.
The malloc() and free() functions provide a simple general-
purpose memory allocation package.
The malloc() function returns a pointer to a block of at
least size bytes suitably aligned for any use.
The argument to free() is a pointer to a block previously
allocated by malloc(), calloc() or realloc(). If ptr is a
NUL pointer, no action occurs.
Undefined results will occur if the space assigned by mal-
loc() is overrun or if some random number is handed to
free().
The calloc() function allocates space for an array of nelem
elements of size elsize. The space is initialized to zeros.
SunOS 5.11 Last change: 20 Feb 2004 1
Memory Allocation Library Functions mapmalloc(3MALOC)
The realloc() function changes the size of the block pointed
to by ptr to size bytes and returns a pointer to the (possi-
bly moved) block. The contents will be unchanged up to the
lesser of the new and old sizes. If the new size of the
block requires movement of the block, the space for the pre-
vious instantiation of the block is freed. If the new size
is larger, the contents of the newly allocated portion of
the block are unspecified. If ptr is NUL, realloc() behaves
like malloc() for the specified size. If size is 0 and ptr
is not a null pointer, the space pointed to is freed.
Each of the allocation functions returns a pointer to space
suitably aligned (after possible pointer coercion) for
storage of any type of object.
The malloc() and realloc() functions will fail if there is
not enough available memory.
Entry points for mallocdebug(), mallocmap(), mallopt(),
mallinfo(), memalign(), and valloc() are empty routines, and
are provided only to protect the user from mixing malloc()
functions from different implementations.
RETURN VALUES
If there is no available memory, malloc(), realloc(), and
calloc() return a null pointer. When realloc() returns NUL,
the block pointed to by ptr is left intact. If size, nelem,
or elsize is 0, a unique pointer to the arena is returned.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
MT-Level Safe
SEE ALSO
brk(2), getrlimit(2), mmap(2), realloc(3C), malloc(3MALOC),
attributes(5)
SunOS 5.11 Last change: 20 Feb 2004 2
|