aboutsummaryrefslogtreecommitdiff
path: root/lib/std/os/linux.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2020-09-07 11:17:42 -0700
committerAndrew Kelley <andrew@ziglang.org>2020-09-07 11:17:42 -0700
commit52b8239a22aa37fe3914427cd4e2905231769e59 (patch)
treecd60ca825c14b5befbcddf674bdb7d3feda81d23 /lib/std/os/linux.zig
parent338f155a02b72117ff710f72c8578e7d2f8eb296 (diff)
parent533bfc68bf8b4ad7ffbe5814a622f200dc345b69 (diff)
downloadzig-52b8239a22aa37fe3914427cd4e2905231769e59.tar.gz
zig-52b8239a22aa37fe3914427cd4e2905231769e59.zip
Merge remote-tracking branch 'origin/master' into llvm11
Diffstat (limited to 'lib/std/os/linux.zig')
-rw-r--r--lib/std/os/linux.zig8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig
index 8452d69d8f..8f697fb967 100644
--- a/lib/std/os/linux.zig
+++ b/lib/std/os/linux.zig
@@ -829,17 +829,19 @@ pub fn sigaction(sig: u6, noalias act: *const Sigaction, noalias oact: ?*Sigacti
return 0;
}
+const usize_bits = @typeInfo(usize).Int.bits;
+
pub fn sigaddset(set: *sigset_t, sig: u6) void {
const s = sig - 1;
// shift in musl: s&8*sizeof *set->__bits-1
- const shift = @intCast(u5, s & (usize.bit_count - 1));
+ const shift = @intCast(u5, s & (usize_bits - 1));
const val = @intCast(u32, 1) << shift;
- (set.*)[@intCast(usize, s) / usize.bit_count] |= val;
+ (set.*)[@intCast(usize, s) / usize_bits] |= val;
}
pub fn sigismember(set: *const sigset_t, sig: u6) bool {
const s = sig - 1;
- return ((set.*)[@intCast(usize, s) / usize.bit_count] & (@intCast(usize, 1) << (s & (usize.bit_count - 1)))) != 0;
+ return ((set.*)[@intCast(usize, s) / usize_bits] & (@intCast(usize, 1) << (s & (usize_bits - 1)))) != 0;
}
pub fn getsockname(fd: i32, noalias addr: *sockaddr, noalias len: *socklen_t) usize {