Skip to content

Commit e0fc936

Browse files
authored
Merge pull request #1739 from kubo39/patch-CPU_COUNT
Add CPU_COUNT/CPU_COUNT_S
2 parents d1dd244 + 94208c6 commit e0fc936

File tree

1 file changed

+13
-0
lines changed
  • src/unix/linux_like/linux

1 file changed

+13
-0
lines changed

src/unix/linux_like/linux/mod.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2648,6 +2648,19 @@ f! {
26482648
0 != (cpuset.bits[idx] & (1 << offset))
26492649
}
26502650

2651+
pub fn CPU_COUNT_S(size: usize, cpuset: &cpu_set_t) -> ::c_int {
2652+
let mut s: u32 = 0;
2653+
let size_of_mask = ::mem::size_of_val(&cpuset.bits[0]);
2654+
for i in cpuset.bits[..(size / size_of_mask)].iter() {
2655+
s += i.count_ones();
2656+
};
2657+
s as ::c_int
2658+
}
2659+
2660+
pub fn CPU_COUNT(cpuset: &cpu_set_t) -> ::c_int {
2661+
CPU_COUNT_S(::mem::size_of::<cpu_set_t>(), cpuset)
2662+
}
2663+
26512664
pub fn CPU_EQUAL(set1: &cpu_set_t, set2: &cpu_set_t) -> bool {
26522665
set1.bits == set2.bits
26532666
}

0 commit comments

Comments
 (0)