authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2025-04-20 16:42:07 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2025-04-20 16:42:07 -07:00
logf53f2ca287b1f091d8a58786f2d5529289d4afff
treec85af41854408130cf575efe9d260226dab57606
parentd980654a971e2e3b975043a6fd3d3809bebcc08a

add sched_yield


2 files changed, 8 insertions(+), 1 deletions(-)

mod.zig+7-1
...@@ -150,7 +150,13 @@ pub const select = @compileError("TODO: select");...@@ -150,7 +150,13 @@ pub const select = @compileError("TODO: select");
150// sched_yield150// sched_yield
151// int sched_yield(void);151// int sched_yield(void);
152// asmlinkage long sys_sched_yield(void);152// asmlinkage long sys_sched_yield(void);
153pub const sched_yield = @compileError("TODO: sched_yield");153pub fn sched_yield() errno.Error!c_int {
154 const r = syscall0(.sched_yield);
155 return switch (_errno(r)) {
156 .ok => @intCast(r),
157 _ => |c| errno.errorFromInt(@intFromEnum(c)),
158 };
159}
154160
155// mremap161// mremap
156// void *mremap(void old_address[.old_size], size_t old_size, size_t new_size, int flags, ... /* void *new_address */);162// void *mremap(void old_address[.old_size], size_t old_size, size_t new_size, int flags, ... /* void *new_address */);
test.zig+1
...@@ -7,4 +7,5 @@ test {...@@ -7,4 +7,5 @@ test {
7 if (builtin.target.cpu.arch != .x86_64) return;7 if (builtin.target.cpu.arch != .x86_64) return;
8 _ = &linux.read;8 _ = &linux.read;
9 _ = &linux.write;9 _ = &linux.write;
10 _ = &linux.sched_yield;
10}11}