table of contents
globus_memory(3) | Library Functions Manual | globus_memory(3) |
NAME¶
globus_memory - Memory Pool
- Memory Pool.
SYNOPSIS¶
Functions¶
globus_bool_t globus_memory_init (globus_memory_t
*mem_info, int node_size, int node_count)
Initialize memory pool. void * globus_memory_pop_node (globus_memory_t
*mem_info)
Retrieve a memory item from a pool. globus_bool_t
globus_memory_push_node (globus_memory_t *mem_info, void *buffer)
Return a memory item to the pool. globus_bool_t
globus_memory_destroy (globus_memory_t *mem_info)
Destroy a memory pool.
Detailed Description¶
Memory Pool.
The globus_memory abstraction implements a memory management pool for groups of same-sized data items.
Function Documentation¶
globus_bool_t globus_memory_destroy (globus_memory_t * mem_info)¶
Destroy a memory pool. Free all the memory associated with the memory management structure. For every call to globus_memory_init() there should be a call to globus_memory_destroy() or else memory will leak.
globus_bool_t globus_memory_init (globus_memory_t * mem_info, int node_size, int node_count)¶
Initialize memory pool. Initialize the globus memory management structure.
Before using any functions associate with a memory structure this function must be called.
Parameters
node_size The size of the memory to allocated with each pop.
node_count The initial number of nodes allocated with the memory management structure. If it is exceeded more will be allocated.
void * globus_memory_pop_node (globus_memory_t * mem_info)¶
Retrieve a memory item from a pool. Pop a chunk of memory out of the memory management structure. Similar to malloc(). When no longer using this item, return it to the pool via globus_memory_push_node().
globus_bool_t globus_memory_push_node (globus_memory_t * mem_info, void * buffer)¶
Return a memory item to the pool. Push a chunk of memory back into the memory management structure. Similar to free().
Author¶
Generated automatically by Doxygen for globus_common from the source code.
Version 18.14 | globus_common |