authorgravatar for mail@linusgroh.deLinus Groh <mail@linusgroh.de> 2026-04-16 23:38:08+01:00
committergravatar for mail@linusgroh.deLinus Groh <mail@linusgroh.de> 2026-04-16 23:48:05+01:00
log8abb14141e987a9d469eedf98c14eb0141d0875c
tree34449427f8d510389d2f9c9e370699ced0287c57
parent92ec9fa3d05f06257d267ac7dc0fbe533d5f96be

std.c: Fix serenity's futex() declaration

Two mistakes I made when translating from the C header: - The timeout and userspace_address2 pointers should be nullable. - futex_wait() and futex_wake() are defined as static functions and therefore not available as exported symbols. They're just thin wrappers around futex() anyway so that's fine.

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

lib/std/c.zig-2
......@@ -11459,8 +11459,6 @@ pub const disown = serenity.disown;
1145911459pub const profiling_enable = serenity.profiling_enable;
1146011460pub const profiling_disable = serenity.profiling_disable;
1146111461pub const profiling_free_buffer = serenity.profiling_free_buffer;
11462pub const futex_wait = serenity.futex_wait;
11463pub const futex_wake = serenity.futex_wake;
1146411462pub const purge = serenity.purge;
1146511463pub const perf_event = serenity.perf_event;
1146611464pub const perf_register_string = serenity.perf_register_string;
lib/std/c/serenity.zig+1-3
......@@ -53,9 +53,7 @@ pub extern "c" fn profiling_enable(pid: pid_t, event_mask: PERF_EVENT) c_int;
5353pub extern "c" fn profiling_disable(pid: pid_t) c_int;
5454pub extern "c" fn profiling_free_buffer(pid: pid_t) c_int;
5555
56pub extern "c" fn futex(userspace_address: *u32, futex_op: c_int, value: u32, timeout: *const timespec, userspace_address2: *u32, value3: u32) c_int;
57pub extern "c" fn futex_wait(userspace_address: *u32, value: u32, abstime: *const timespec, clockid: clockid_t, process_shared: c_int) c_int;
58pub extern "c" fn futex_wake(userspace_address: *u32, count: u32, process_shared: c_int) c_int;
56pub extern "c" fn futex(userspace_address: *u32, futex_op: c_int, value: u32, timeout: ?*const timespec, userspace_address2: ?*u32, value3: u32) c_int;
5957
6058pub extern "c" fn purge(mode: c_int) c_int;
6159