summaryrefslogtreecommitdiff
path: root/sys/include/spinlock.h
diff options
context:
space:
mode:
authorstefan <stefan@s00.xyz>2023-04-19 20:50:10 -0400
committerstefan <stefan@s00.xyz>2023-04-19 20:50:10 -0400
commit83e17e29456ec9b6d45f4d9f2634eb280c6f414f (patch)
tree004a9b2a7cd3f0c7bb4224b59204680bd5d79681 /sys/include/spinlock.h
parentaf1ce4b2e637ceb418ea72d51c49a3eee276a938 (diff)
downloadsv-83e17e29456ec9b6d45f4d9f2634eb280c6f414f.tar.gz
ticket locks
Diffstat (limited to 'sys/include/spinlock.h')
-rw-r--r--sys/include/spinlock.h22
1 files changed, 12 insertions, 10 deletions
diff --git a/sys/include/spinlock.h b/sys/include/spinlock.h
index ef81499..82c1585 100644
--- a/sys/include/spinlock.h
+++ b/sys/include/spinlock.h
@@ -1,15 +1,17 @@
-#ifndef _LOCK_H
-#define _LOCK_H
+#ifndef _SPINLOCK_H
+#define _SPINLOCK_H
-struct spinlock {
- int locked;
- int tp;
-};
+/* fifo ticket lock implementation */
-void initlock(struct spinlock *);
+typedef struct _spinlock {
+ int ticket;
+ int turn;
+} spinlock_t;
-void acquire(struct spinlock *);
+void initlock(spinlock_t *);
-void release(struct spinlock *);
+void acquire(spinlock_t *);
-#endif /* _LOCK_H */
+void release(spinlock_t *);
+
+#endif /* _SPINLOCK_H */