Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ns_free(3aolserv) [debian man page]

Ns_Alloc(3aolserver)					   AOLserver Library Procedures 				      Ns_Alloc(3aolserver)

__________________________________________________________________________________________________________________________________________________

NAME
ns_calloc, ns_free, ns_malloc, ns_realloc - Memory allocation functions SYNOPSIS
#include "ns.h" void * ns_calloc(size_t num, size_t esize) void ns_free(void *ptr) void * ns_malloc(size_t size) void * ns_realloc(void *ptr, size_t size) _________________________________________________________________ DESCRIPTION
The AOLserver memory storage allocation code was moved into 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 memory 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 compiled to allocate even more memory which is used internally for diagnostic reasons. Using ns_free to free memory created by routines 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_cal- loc() 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
Tcl_Alloc(3), Tcl_Free(3) KEYWORDS
memory, allocation AOLserver 4.0 Ns_Alloc(3aolserver)

Check Out this Related Man Page

Tcl_Alloc(3)						      Tcl Library Procedures						      Tcl_Alloc(3)

__________________________________________________________________________________________________________________________________________________

NAME
Tcl_Alloc, Tcl_Free, Tcl_Realloc, Tcl_AttemptAlloc, Tcl_AttemptRealloc, ckalloc, ckfree, ckrealloc, attemptckalloc, attemptckrealloc - allocate or free heap memory SYNOPSIS
#include <tcl.h> char * Tcl_Alloc(size) void Tcl_Free(ptr) char * Tcl_Realloc(ptr, size) char * Tcl_AttemptAlloc(size) char * Tcl_AttemptRealloc(ptr, size) char * ckalloc(size) void ckfree(ptr) char * ckrealloc(ptr, size) char * attemptckalloc(size) char * attemptckrealloc(ptr, size) ARGUMENTS
unsigned int size (in) Size in bytes of the memory block to allocate. char *ptr (in) Pointer to memory block to free or realloc. _________________________________________________________________ DESCRIPTION
These procedures provide a platform and compiler independent interface for memory allocation. Programs that need to transfer ownership of memory blocks between Tcl and other modules should use these routines rather than the native malloc() and free() routines provided by the C run-time library. Tcl_Alloc returns a pointer to a block of at least size bytes suitably aligned for any use. Tcl_Free makes the space referred to by ptr available for further allocation. Tcl_Realloc changes the size of the block pointed to by ptr to size bytes and returns a pointer to the new block. The contents will be unchanged up to the lesser of the new and old sizes. The returned location may be different from ptr. If ptr is NULL, this is equivalent to calling Tcl_Alloc with just the size argument. Tcl_AttemptAlloc and Tcl_AttemptRealloc are identical in function to Tcl_Alloc and Tcl_Realloc, except that Tcl_AttemptAlloc and Tcl_AttemptRealloc will not cause the Tcl interpreter to panic if the memory allocation fails. If the allocation fails, these functions will return NULL. Note that on some platforms, but not all, attempting to allocate a zero-sized block of memory will also cause these functions to return NULL. The procedures ckalloc, ckfree, ckrealloc, attemptckalloc, and attemptckrealloc are implemented as macros. Normally, they are synonyms for the corresponding procedures documented on this page. When Tcl and all modules calling Tcl are compiled with TCL_MEM_DEBUG defined, how- ever, these macros are redefined to be special debugging versions of these procedures. To support Tcl's memory debugging within a module, use the macros rather than direct calls to Tcl_Alloc, etc. KEYWORDS
alloc, allocation, free, malloc, memory, realloc, TCL_MEM_DEBUG Tcl 7.5 Tcl_Alloc(3)
Man Page