Blender V5.0
BLI_linklist_lockfree.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2018 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
10
11typedef struct LockfreeLinkNode {
13 /* NOTE: "Subclass" this structure to add custom-defined data. */
15
16typedef struct LockfreeLinkList {
17 /* We keep a dummy node at the beginning of the list all the time.
18 * This allows us to make sure head and tail pointers are always
19 * valid, and saves from annoying exception cases in insert().
20 */
22 /* NOTE: This fields might point to a dummy node. */
25
26typedef void (*LockfreeeLinkNodeFreeFP)(void *link);
27
28/* ************************************************************************** */
29/* NOTE: These functions are NOT safe for use from threads. */
30/* NOTE: !!! I REPEAT: DO NOT USE THEM WITHOUT EXTERNAL LOCK !!! */
31
34
37
42
48
49/* ************************************************************************** */
50/* NOTE: These functions are safe for use from threads. */
51
static PyObject * free_func(PyObject *, PyObject *value)
Definition python.cpp:226
struct LockfreeLinkNode * next