Files
VulkanDriver/src/vulkan/SpinMutex.zig
T
kbz_8 e9454ddd9a
Build / build (push) Successful in 1m6s
Test / build_and_test (push) Failing after 8h9m28s
adding bounded arena allocator to renderer
2026-05-10 12:28:53 +02:00

22 lines
373 B
Zig

//! Atomic based spin mutex
const std = @import("std");
mutex: std.atomic.Mutex = .unlocked,
pub fn lock(self: *@This()) void {
if (self.mutex.tryLock()) {
@branchHint(.likely);
return;
}
while (true) {
if (self.mutex.tryLock()) {
return;
}
}
}
pub fn unlock(self: *@This()) void {
self.mutex.unlock();
}