linux.zig: epoll_wait: pass kernel sigset size

Linux kernel syscalls expect to be given the number of bits of sigset that
they're built for, not the full 1024-bit sigsets that glibc supports.

I audited the other syscalls in here that use `sigset_t` and they're all
using `NSIG / 8`.

Fixes #12715
This commit is contained in:
Pat Tullmann 2025-04-08 14:03:31 -07:00 committed by Alex Rønne Petersen
parent 83e1ce1e00
commit 2a7683933a
No known key found for this signature in database

View File

@ -2221,7 +2221,7 @@ pub fn epoll_pwait(epoll_fd: i32, events: [*]epoll_event, maxevents: u32, timeou
@as(usize, @intCast(maxevents)),
@as(usize, @bitCast(@as(isize, timeout))),
@intFromPtr(sigmask),
@sizeOf(sigset_t),
NSIG / 8,
);
}