libosmocore 1.10.0.10-24ad1
Osmocom core library
|
per-thread talloc contexts. More...
#include <talloc.h>
Data Fields | |
void * | global |
global per-thread talloc context. More... | |
void * | select |
volatile select-dispatch context. More... | |
per-thread talloc contexts.
This works around the problem that talloc is not thread-safe. However, one can simply have a different set of talloc contexts for each thread, and ensure that allocations made on one thread are always only free'd on that very same thread. WARNING: Users must make sure they free() on the same thread as they allocate!!
void* osmo_talloc_contexts::global |
global per-thread talloc context.
Referenced by osmo_ctx_init().
void* osmo_talloc_contexts::select |
volatile select-dispatch context.
This context is completely free'd and re-created every time the main select loop in osmo_select_main() returns from select(2) and calls per-fd callback functions. This allows users of this facility to allocate temporary objects like string buffers, message buffers and the like which are automatically free'd when going into the next select() system call
Referenced by osmo_ctx_init().