summaryrefslogtreecommitdiff
path: root/accel-pptpd/triton/spinlock.h
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pptpd/triton/spinlock.h')
-rw-r--r--accel-pptpd/triton/spinlock.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/accel-pptpd/triton/spinlock.h b/accel-pptpd/triton/spinlock.h
new file mode 100644
index 0000000..a75e29c
--- /dev/null
+++ b/accel-pptpd/triton/spinlock.h
@@ -0,0 +1,17 @@
+#ifndef __TRITON_SPINLOCK_H
+#define __TRITON_SPINLOCK_H
+
+#ifdef USE_SPINLOCK
+typedef spinlock_t unsigned char;
+#define spin_lock(l) {while(__sync_lock_test_and_set(l,1);}
+#define spin_unlock(l) __sync_lock_release(l)
+#define SPINLOCK_INITIALIZER 0
+#else
+typedef spinlock_t pthread_mutex_t;
+#define spin_lock(l) pthread_mutex_lock(l)
+#define spin_unlock(l) pthread_mutex_unlock(l)
+#define SPINLOCK_INITIALIZER PTHREAD_MUTEX_INITIALIZER
+#endif
+
+#endif
+