From f53f2ca287b1f091d8a58786f2d5529289d4afff Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Sun, 20 Apr 2025 16:42:07 -0700 Subject: [PATCH] add sched_yield --- mod.zig | 8 +++++++- test.zig | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/mod.zig b/mod.zig index 17d72d7013d4a5d55fe6a836b2cb976d6397a010..72032dc3b220476fdaa38a25f0314187efbfb716 100644 --- a/mod.zig +++ b/mod.zig @@ -150,7 +150,13 @@ pub const select = @compileError("TODO: select"); // sched_yield // int sched_yield(void); // asmlinkage long sys_sched_yield(void); -pub const sched_yield = @compileError("TODO: sched_yield"); +pub fn sched_yield() errno.Error!c_int { + const r = syscall0(.sched_yield); + return switch (_errno(r)) { + .ok => @intCast(r), + _ => |c| errno.errorFromInt(@intFromEnum(c)), + }; +} // mremap // void *mremap(void old_address[.old_size], size_t old_size, size_t new_size, int flags, ... /* void *new_address */); diff --git a/test.zig b/test.zig index a0ba83ba722bd28a1a4484f6b19ebd986fe63ba8..f7924d1c40d6d6a3e94842de961c877d583ec038 100644 --- a/test.zig +++ b/test.zig @@ -7,4 +7,5 @@ test { if (builtin.target.cpu.arch != .x86_64) return; _ = &linux.read; _ = &linux.write; + _ = &linux.sched_yield; } -- 2.54.0