|
Grid Community Toolkit
6.2.1629922860 (tag: v6.2.20210826)
|
Memory Pool. More...
Functions | |
| globus_bool_t | globus_memory_init (globus_memory_t *mem_info, int node_size, int node_count) |
| Initialize memory pool. More... | |
| void * | globus_memory_pop_node (globus_memory_t *mem_info) |
| Retrieve a memory item from a pool. More... | |
| globus_bool_t | globus_memory_push_node (globus_memory_t *mem_info, void *buffer) |
| Return a memory item to the pool. More... | |
| globus_bool_t | globus_memory_destroy (globus_memory_t *mem_info) |
| Destroy a memory pool. More... | |
Memory Pool.
The globus_memory abstraction implements a memory management pool for groups of same-sized data items.
| 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.
| mem_info | The memory management datatype |
| 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().
1.8.5