We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents f1edecf + a6d8724 commit 57f1f91Copy full SHA for 57f1f91
library/std/src/sys/unix/thread.rs
@@ -324,8 +324,10 @@ pub fn available_parallelism() -> io::Result<NonZeroUsize> {
324
if libc::sched_getaffinity(0, mem::size_of::<libc::cpu_set_t>(), &mut set) == 0 {
325
let count = libc::CPU_COUNT(&set) as usize;
326
let count = count.min(quota);
327
- // SAFETY: affinity mask can't be empty and the quota gets clamped to a minimum of 1
328
- return Ok(NonZeroUsize::new_unchecked(count));
+ // reported to occur on MIPS kernels older than our minimum supported kernel version for those targets
+ let count = NonZeroUsize::new(count)
329
+ .expect("CPU count must be > 0. This may be a bug in sched_getaffinity(); try upgrading the kernel.");
330
+ return Ok(count);
331
}
332
333
0 commit comments