aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/platform.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/core/platform.h b/src/core/platform.h
index b1d76899..b56f9a68 100644
--- a/src/core/platform.h
+++ b/src/core/platform.h
@@ -169,6 +169,15 @@ typedef struct nni_atomic_flag nni_atomic_flag;
extern bool nni_atomic_flag_test_and_set(nni_atomic_flag *);
extern void nni_atomic_flag_reset(nni_atomic_flag *);
+// nni_atomic_bool is for boolean flags that need to be checked without
+// changing their value. This might require a lock on some systems.
+typedef struct nni_atomic_bool nni_atomic_bool;
+
+extern void nni_atomic_init_bool(nni_atomic_bool *);
+extern void nni_atomic_set_bool(nni_atomic_bool *, bool);
+extern bool nni_atomic_get_bool(nni_atomic_bool *);
+extern bool nni_atomic_swap_bool(nni_atomic_bool *, bool);
+
typedef struct nni_atomic_u64 nni_atomic_u64;
extern void nni_atomic_init64(nni_atomic_u64 *);