From 6b3075d90d945d5e7e8fd4d28284ffd99dbeb82e Mon Sep 17 00:00:00 2001 From: Shinya Sato Date: Fri, 24 Sep 2021 16:42:54 +0900 Subject: v0.4.1 --- src/cas_spinlock.h | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/cas_spinlock.h (limited to 'src/cas_spinlock.h') diff --git a/src/cas_spinlock.h b/src/cas_spinlock.h new file mode 100644 index 0000000..cb2dabd --- /dev/null +++ b/src/cas_spinlock.h @@ -0,0 +1,11 @@ +//#define CAS_LOCK_USLEEP 4 +#define CAS_LOCK_USLEEP 200 + +static inline void lock(volatile int *aexclusion) { + while (__sync_lock_test_and_set(aexclusion, 1)) + while (*aexclusion) + usleep(CAS_LOCK_USLEEP); +} +static inline void unlock(volatile int *aexclusion) { + __sync_lock_release(aexclusion); +} -- cgit v1.2.3