From fb1dac21ffde8932107e616554a7c9d23e37526c Mon Sep 17 00:00:00 2001 From: B I Mohammed Abbas Date: Thu, 8 Aug 2024 12:59:04 +0530 Subject: [PATCH] Fix VxWorks available parallelism: Move nonzero::uncheked into unsafe block --- library/std/src/sys/pal/unix/thread.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/library/std/src/sys/pal/unix/thread.rs b/library/std/src/sys/pal/unix/thread.rs index 7d29d9a5172..90aa69f6d14 100644 --- a/library/std/src/sys/pal/unix/thread.rs +++ b/library/std/src/sys/pal/unix/thread.rs @@ -489,9 +489,11 @@ pub fn available_parallelism() -> io::Result> { fn vxCpuEnabledGet() -> libc::cpuset_t; } - // always fetches a valid bitmask - let set = unsafe { vxCpuEnabledGet() }; - Ok(NonZero::new_unchecked(set.count_ones() as usize)) + unsafe{ + // always fetches a valid bitmask + let set = vxCpuEnabledGet(); + Ok(NonZero::new_unchecked(set.count_ones() as usize)) + } } else { // FIXME: implement on Redox, l4re Err(io::const_io_error!(io::ErrorKind::Unsupported, "Getting the number of hardware threads is not supported on the target platform"))