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)

KEYWORDS

Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout