|
Blender V5.0
|
Go to the source code of this file.
Functions | |
| void | BLI_linklist_lockfree_init (LockfreeLinkList *list) |
| 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) |
| LockfreeLinkNode * | BLI_linklist_lockfree_begin (LockfreeLinkList *list) |
| LockfreeLinkNode * BLI_linklist_lockfree_begin | ( | LockfreeLinkList * | list | ) |
Begin iteration of lock-free linked list, starting with a first user=defined node. Will ignore the dummy node.
Definition at line 62 of file BLI_linklist_lockfree.cc.
References LockfreeLinkList::head, and LockfreeLinkNode::next.
Referenced by BKE_icons_deferred_free(), TEST(), and TEST().
| void BLI_linklist_lockfree_clear | ( | LockfreeLinkList * | list, |
| LockfreeeLinkNodeFreeFP | free_func ) |
Remove all the elements from the list, keep it usable for further inserts.
Definition at line 34 of file BLI_linklist_lockfree.cc.
References BLI_linklist_lockfree_free(), BLI_linklist_lockfree_init(), and free_func().
Referenced by BKE_icons_deferred_free().
| void BLI_linklist_lockfree_free | ( | LockfreeLinkList * | list, |
| LockfreeeLinkNodeFreeFP | free_func ) |
Completely free the whole list, it is NOT re-usable after this.
Definition at line 21 of file BLI_linklist_lockfree.cc.
References free_func(), LockfreeLinkList::head, and LockfreeLinkNode::next.
Referenced by BKE_icons_free(), BLI_linklist_lockfree_clear(), TEST(), TEST(), TEST(), and TEST().
| void BLI_linklist_lockfree_init | ( | LockfreeLinkList * | list | ) |
Make list ready for lock-free access.
Definition at line 15 of file BLI_linklist_lockfree.cc.
References LockfreeLinkList::dummy_node, LockfreeLinkList::head, LockfreeLinkNode::next, and LockfreeLinkList::tail.
Referenced by BKE_icons_init(), BLI_linklist_lockfree_clear(), TEST(), TEST(), TEST(), and TEST().
| void BLI_linklist_lockfree_insert | ( | LockfreeLinkList * | list, |
| LockfreeLinkNode * | node ) |
Definition at line 40 of file BLI_linklist_lockfree.cc.
References atomic_cas_ptr(), LockfreeLinkNode::next, and LockfreeLinkList::tail.
Referenced by icon_add_to_deferred_delete_queue(), TEST(), and TEST().