diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2020-09-07 11:17:42 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-09-07 11:17:42 -0700 |
| commit | 52b8239a22aa37fe3914427cd4e2905231769e59 (patch) | |
| tree | cd60ca825c14b5befbcddf674bdb7d3feda81d23 /lib/std/os/linux.zig | |
| parent | 338f155a02b72117ff710f72c8578e7d2f8eb296 (diff) | |
| parent | 533bfc68bf8b4ad7ffbe5814a622f200dc345b69 (diff) | |
| download | zig-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.zig | 8 |
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 { |
