Blender V4.3
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
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef struct LockfreeLinkNode {
17 /* NOTE: "Subclass" this structure to add custom-defined data. */
19
20typedef struct LockfreeLinkList {
21 /* We keep a dummy node at the beginning of the list all the time.
22 * This allows us to make sure head and tail pointers are always
23 * valid, and saves from annoying exception cases in insert().
24 */
26 /* NOTE: This fields might point to a dummy node. */
29
30typedef void (*LockfreeeLinkNodeFreeFP)(void *link);
31
32/* ************************************************************************** */
33/* NOTE: These functions are NOT safe for use from threads. */
34/* NOTE: !!! I REPEAT: DO NOT USE THEM WITHOUT EXTERNAL LOCK !!! */
35
38
41
46
52
53/* ************************************************************************** */
54/* NOTE: These functions are safe for use from threads. */
55
57
58#ifdef __cplusplus
59}
60#endif
static PyObject * free_func(PyObject *, PyObject *value)
Definition python.cpp:224
struct LockfreeLinkNode * next