Home

Traffic Server Software Developers Kit

Memory Allocation

Traffic Server provides five routines for allocating and freeing memory. These routines correspond to similar routines in the C library. For example, INKrealloc behaves like the C library routine realloc.

There are two main reasons to use the routines provided by Traffic Server. The first is portability: the Traffic Server API routines behave the same on all of Traffic Server’s supported platforms. For example, realloc does not accept an argument of NULL on some platforms. The second reason is that the Traffic Server routines actually track the memory allocations by file and line number. This tracking is very efficient, is always turned on, and is useful for tracking down memory leaks.

The memory allocation functions are described below.

INKfree

Frees memory allocated by INKmalloc or INKrealloc.

Prototype

void INKfree (void *ptr)

Arguments

ptr is a pointer to the memory to deallocate.

Description

Releases the memory allocated by INKmalloc or INKrealloc. If ptr is NULL, then INKfree does not perform an operation.