aboutsummaryrefslogtreecommitdiff
path: root/src/ThreadSafeQueue.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2024-10-18 22:29:50 -0700
committerAndrew Kelley <andrew@ziglang.org>2024-10-23 16:27:38 -0700
commitc2898c436f0c858d10367b7631091f5a52cce76f (patch)
treebf2ca1d0dd9b02b530cb70545111091c916727b5 /src/ThreadSafeQueue.zig
parent5ca54036ca0bc292ead681c03c8ac57e27a127db (diff)
downloadzig-c2898c436f0c858d10367b7631091f5a52cce76f.tar.gz
zig-c2898c436f0c858d10367b7631091f5a52cce76f.zip
branch fixes
Diffstat (limited to 'src/ThreadSafeQueue.zig')
-rw-r--r--src/ThreadSafeQueue.zig8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ThreadSafeQueue.zig b/src/ThreadSafeQueue.zig
index b014017736..1cf6aaaa3a 100644
--- a/src/ThreadSafeQueue.zig
+++ b/src/ThreadSafeQueue.zig
@@ -59,5 +59,13 @@ pub fn ThreadSafeQueue(comptime T: type) type {
self.state = .run;
return was_waiting;
}
+
+ /// Safe only to call exactly once when initially starting the worker.
+ pub fn start(self: *Self) bool {
+ assert(self.state == .wait);
+ if (self.shared.items.len == 0) return false;
+ self.state = .run;
+ return true;
+ }
};
}