53 tail_node = list->
tail;
58 }
while (keep_working);
void BLI_linklist_lockfree_free(LockfreeLinkList *list, LockfreeeLinkNodeFreeFP free_func)
void BLI_linklist_lockfree_clear(LockfreeLinkList *list, LockfreeeLinkNodeFreeFP free_func)
void BLI_linklist_lockfree_insert(LockfreeLinkList *list, LockfreeLinkNode *node)
void BLI_linklist_lockfree_init(LockfreeLinkList *list)
LockfreeLinkNode * BLI_linklist_lockfree_begin(LockfreeLinkList *list)
void(* LockfreeeLinkNodeFreeFP)(void *link)
Strict compiler flags for areas of code we want to ensure don't do conversions without us knowing abo...
Read Guarded memory(de)allocation.
Provides wrapper around system-specific atomic primitives, and some extensions (faked-atomic operatio...
ATOMIC_INLINE void * atomic_cas_ptr(void **v, void *old, void *_new)
static PyObject * free_func(PyObject *, PyObject *value)
LockfreeLinkNode dummy_node
struct LockfreeLinkNode * next