aboutsummaryrefslogtreecommitdiff
path: root/std/spinlock.zig
diff options
context:
space:
mode:
authorJimmi Holst Christensen <jimmiholstchristensen@gmail.com>2018-11-13 05:08:37 -0800
committerGitHub <noreply@github.com>2018-11-13 05:08:37 -0800
commit8139c5a516eaa217ed76acdf09496895451c5c5c (patch)
tree89841cec818c5650471c7f2c11141013f8640bf7 /std/spinlock.zig
parent67fbb0434f7104801c66e821b5057a8323e377df (diff)
downloadzig-8139c5a516eaa217ed76acdf09496895451c5c5c.tar.gz
zig-8139c5a516eaa217ed76acdf09496895451c5c5c.zip
New Zig formal grammar (#1685)
Reverted #1628 and changed the grammar+parser of the language to not allow certain expr where types are expected
Diffstat (limited to 'std/spinlock.zig')
-rw-r--r--std/spinlock.zig8
1 files changed, 4 insertions, 4 deletions
diff --git a/std/spinlock.zig b/std/spinlock.zig
index a7f6561264..75fdf9f6e1 100644
--- a/std/spinlock.zig
+++ b/std/spinlock.zig
@@ -4,10 +4,10 @@ const AtomicOrder = builtin.AtomicOrder;
const AtomicRmwOp = builtin.AtomicRmwOp;
const assert = std.debug.assert;
-pub const SpinLock = struct.{
+pub const SpinLock = struct {
lock: u8, // TODO use a bool or enum
- pub const Held = struct.{
+ pub const Held = struct {
spinlock: *SpinLock,
pub fn release(self: Held) void {
@@ -16,12 +16,12 @@ pub const SpinLock = struct.{
};
pub fn init() SpinLock {
- return SpinLock.{ .lock = 0 };
+ return SpinLock{ .lock = 0 };
}
pub fn acquire(self: *SpinLock) Held {
while (@atomicRmw(u8, &self.lock, builtin.AtomicRmwOp.Xchg, 1, AtomicOrder.SeqCst) != 0) {}
- return Held.{ .spinlock = self };
+ return Held{ .spinlock = self };
}
};