about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/mach/getsysstats.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/sysdeps/mach/getsysstats.c b/sysdeps/mach/getsysstats.c
index 00d7c7609b..cd72e734ae 100644
--- a/sysdeps/mach/getsysstats.c
+++ b/sysdeps/mach/getsysstats.c
@@ -20,6 +20,25 @@ Cambridge, MA 02139, USA.  */
 #include <errno.h>
 #include <mach.h>
 #include <hurd.h>
+#include <sys/sysinfo.h>
+
+
+/* Return the number of processors configured on the system. */
+int
+__get_nproc_conf ()
+{
+  struct host_basic_info hbi;
+  kern_return_t err;
+  mach_msg_type_number_t cnt = HOST_BASIC_INFO_COUNT;
+  
+  err = __host_info (__mach_host_self (), HOST_BASIC_INFO, &hbi, &cnt);
+  if (err)
+    return __hurd_fail (err);
+  else if (cnt != HOST_BASIC_INFO_COUNT)
+    return __hurd_fail (EIEIO);
+
+  return hbi.max_cpus;
+}
 
 /* Return the number of processors currently available on the system. */
 int