From cef90eab57e8f6a5ca621b6a334479881ab90044 Mon Sep 17 00:00:00 2001 From: Ratakor Date: Thu, 31 Aug 2023 21:30:15 +0200 Subject: Add filled_sigset to os.linux filled_sigset is equivalent to sigfillset() as empty_sigset is equivalent to sigemptyset(). --- lib/std/os/linux.zig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/std/os/linux.zig') diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig index acf31d1845..43a6226cd0 100644 --- a/lib/std/os/linux.zig +++ b/lib/std/os/linux.zig @@ -3350,7 +3350,9 @@ pub const Sigaction = extern struct { restorer: ?*const fn () callconv(.C) void = null, }; -pub const empty_sigset = [_]u32{0} ** @typeInfo(sigset_t).Array.len; +const sigset_len = @typeInfo(sigset_t).Array.len; +pub const empty_sigset = [_]u32{0} ** sigset_len; +pub const filled_sigset = [_]u32{(1 << (31 & (usize_bits - 1))) - 1} ++ [_]u32{0} ** (sigset_len - 1); pub const SFD = struct { pub const CLOEXEC = O.CLOEXEC; -- cgit v1.2.3 From 8ce33795e95ea0390d320ea2acc60059b460941e Mon Sep 17 00:00:00 2001 From: Ratakor Date: Fri, 1 Sep 2023 13:38:14 +0200 Subject: Add pause() to linux.zig --- lib/std/os/linux.zig | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib/std/os/linux.zig') diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig index 43a6226cd0..2ecb5da231 100644 --- a/lib/std/os/linux.zig +++ b/lib/std/os/linux.zig @@ -1042,6 +1042,14 @@ pub fn nanosleep(req: *const timespec, rem: ?*timespec) usize { return syscall2(.nanosleep, @intFromPtr(req), @intFromPtr(rem)); } +pub fn pause() usize { + if (@hasField(SYS, "pause")) { + return syscall0(.pause); + } else { + return syscall4(.ppoll, 0, 0, 0, 0); + } +} + pub fn setuid(uid: uid_t) usize { if (@hasField(SYS, "setuid32")) { return syscall1(.setuid32, uid); -- cgit v1.2.3