ns_alloc(3)
NAME
- ns_calloc, ns_free, ns_malloc, ns_realloc, Ns_Calloc,
- Ns_Free, Ns_Malloc, Ns_Realloc - Memory allocation functions
SYNOPSIS
#include "ns.h" void * Ns_Calloc(size_t num, size_t esize) ns_calloc(size_t num, size_t esize) void Ns_Free(void *ptr) ns_free(void *ptr) void * Ns_Malloc(size_t size) ns_malloc(size_t size) void * Ns_Realloc(void *ptr, size_t size) ns_realloc(void *ptr, size_t size)
DESCRIPTION
- The AOLserver memory storage allocation code was moved in
- to Tcl core beginning with Tcl 8.4.0. Starting with AOLserver
- 3.5, these memory allocation functions are wrappers that call
- Tcl_Alloc and Tcl_Free. Earlier versions of AOLserver used this
- fast memory storage allocator internally, or the platform's memo
- ry allocator depending on how you configured it.
- The actual amount of memory allocated or freed will be
- different from the requested amount. This is because the fast
- memory allocation code pools memory into chunks and manages that
- memory internally. In addition, the Tcl distribution may be com
- piled to allocate even more memory which is used internally for
- diagnostic reasons. Using ns_free to free memory created by rou
- tines other than ns_malloc, ns_realloc and ns_calloc will almost
- certainly result in segmentation faults or undefined behavior.
- The lowercase and mixed-case versions are identical; the
- lowercase versions are preferred.
- ns_calloc(num, esize)
Allocates a block of memory that is num * esize- large, zeros it, and returns a pointer to the beginning of the
- memory block or NULL if the operation fails.
- ns_free(ptr)
ns_free() frees the memory space pointed to by ptr.- This pointer must have been created with a previous call to
- ns_malloc(), ns_calloc() or ns_realloc().
- If ptr is NULL, no operation is performed.
- ns_free() returns no value.
- ns_malloc(size)
ns_malloc() allocates size bytes and returns a- pointer to the allocated memory. The memory is not cleared. The
- value returned is a pointer to the allocated memory or NULL if
- the request fails. The memory must be freed by ns_free.
- ns_realloc(ptr, size)
ns_realloc changes the size of the memory block- pointed to by ptr to size bytes. The contents will be unchanged
- to the minimum of the old and new sizes. Newly allocated memory
- will be uninitialized. If ptr is NULL, the call is equivalent to
- ns_malloc(size); if size is equal to zero, the call is equivalent
- to ns_free(ptr). Unless ptr is NULL, it must have been returned
- by an earlier call to ns_malloc(), ns_calloc() or ns_realloc().
SEE ALSO
nsd(1), info(n), Tcl_Alloc(3), Tcl_Free(3)