aboutsummaryrefslogtreecommitdiff
path: root/lib/std/os.zig
diff options
context:
space:
mode:
authorkprotty <kbutcher6200@gmail.com>2019-11-07 15:32:20 -0600
committerkprotty <kbutcher6200@gmail.com>2019-11-07 15:32:20 -0600
commitb535e86cc0e86e76471aebd731566ae140098a07 (patch)
tree36e49cab7ff4c229228980f7c541abd4ad2997b2 /lib/std/os.zig
parent92dac89d019fcd91aa043a116d6a6e166da8c4b2 (diff)
downloadzig-b535e86cc0e86e76471aebd731566ae140098a07.tar.gz
zig-b535e86cc0e86e76471aebd731566ae140098a07.zip
move SpinLock definitions around
Diffstat (limited to 'lib/std/os.zig')
-rw-r--r--lib/std/os.zig10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/std/os.zig b/lib/std/os.zig
index efddc9aafb..72dd2a7196 100644
--- a/lib/std/os.zig
+++ b/lib/std/os.zig
@@ -3169,3 +3169,13 @@ pub fn dn_expand(
}
return error.InvalidDnsPacket;
}
+
+pub fn yield() void {
+ switch (builtin.os) {
+ .windows => _ = windows.kernel32.SwitchToThread(),
+ .linux => _ = assert(linux.sched_yield() == 0),
+ else => if (builtin.link_libc) {
+ assert(std.c.pthread_yield() == 0);
+ },
+ }
+}