summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-04-11 09:02:23 -0700
committerbors <bors@rust-lang.org>2016-04-11 09:02:23 -0700
commitb484e6f548058c8297f9c5541b3d42d9d19a7945 (patch)
tree08ac7ce6b114be13fec69747bb6fe8c01243bed4
parent60f90cf560eeb92272cf2e22e80ed990445b8575 (diff)
parentafa77dfa0e2a821e38c99e239b5c3a10d9251162 (diff)
downloadrust-libc-b484e6f548058c8297f9c5541b3d42d9d19a7945.tar.gz
Auto merge of #256 - nodakai:fix-cpu_set, r=alexcrichton
Fix CPU_SET and CPU_ISSET
-rw-r--r--src/unix/notbsd/linux/mod.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/unix/notbsd/linux/mod.rs b/src/unix/notbsd/linux/mod.rs
index c31ed0c086..71a23c9071 100644
--- a/src/unix/notbsd/linux/mod.rs
+++ b/src/unix/notbsd/linux/mod.rs
@@ -450,15 +450,15 @@ f! {
}
pub fn CPU_SET(cpu: usize, cpuset: &mut cpu_set_t) -> () {
- let size = mem::size_of_val(&cpuset.bits[0]);
- let (idx, offset) = (cpu / size, cpu % size);
+ let size_in_bits = 8 * mem::size_of_val(&cpuset.bits[0]); // 32, 64 etc
+ let (idx, offset) = (cpu / size_in_bits, cpu % size_in_bits);
cpuset.bits[idx] |= 1 << offset;
()
}
pub fn CPU_ISSET(cpu: usize, cpuset: &cpu_set_t) -> bool {
- let size = mem::size_of_val(&cpuset.bits[0]);
- let (idx, offset) = (cpu / size, cpu % size);
+ let size_in_bits = 8 * mem::size_of_val(&cpuset.bits[0]);
+ let (idx, offset) = (cpu / size_in_bits, cpu % size_in_bits);
0 != (cpuset.bits[idx] & (1 << offset))
}