From be0f98a78eccf23f615dba07ec7f8c4cc1ba6eb0 Mon Sep 17 00:00:00 2001
From: Hiroki Noda <kubo39@gmail.com>
Date: Wed, 15 Apr 2020 08:52:05 +0900
Subject: [PATCH] Add CPU_ALLOC_SIZE

Co-Authored-By: Yuki Okushi <huyuumi.dev@gmail.com>
---
 src/unix/linux_like/linux/mod.rs | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs
index 5e410a66..27d5ab22 100644
--- a/src/unix/linux_like/linux/mod.rs
+++ b/src/unix/linux_like/linux/mod.rs
@@ -2620,6 +2620,12 @@ f! {
         }
     }
 
+    pub fn CPU_ALLOC_SIZE(count: ::c_int) -> ::size_t {
+        let _dummy: cpu_set_t = ::mem::zeroed();
+        let size_in_bits = 8 * ::mem::size_of_val(&_dummy.bits[0]);
+        ((count as ::size_t + size_in_bits - 1) / 8) as ::size_t
+    }
+
     pub fn CPU_ZERO(cpuset: &mut cpu_set_t) -> () {
         for slot in cpuset.bits.iter_mut() {
             *slot = 0;
-- 
GitLab