summaryrefslogtreecommitdiffstats
path: root/lib/spinlock.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/spinlock.h')
-rw-r--r--lib/spinlock.h27
1 files changed, 0 insertions, 27 deletions
diff --git a/lib/spinlock.h b/lib/spinlock.h
deleted file mode 100644
index 75af28a..0000000
--- a/lib/spinlock.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef JOVE_LIB_SPINLOCK_H
-#define JOVE_LIB_SPINLOCK_H 1
-
-#include <stdatomic.h>
-
-typedef struct Spinlock
-{
- atomic_flag flg;
-
- const char *locker_file;
- const char *locker_func;
- int locker_line;
-} spinlock_t;
-
-#define spinlock_acquire(lock) \
- while(atomic_flag_test_and_set_explicit(&lock.flg, memory_order_acquire)) \
- __builtin_ia32_pause(); \
- lock.locker_file = __FILE__; \
- lock.locker_func = __FUNCTION__; \
- lock.locker_line = __LINE__
-
-#define spinlock_release(lock) \
- atomic_flag_clear_explicit(&lock.flg, memory_order_release); \
- lock.locker_file = lock.locker_func = NULL; \
- lock.locker_line = -1
-
-#endif