diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2009-08-05 22:56:03 +0200 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2009-08-05 22:56:03 +0200 |
commit | 4ae13b764d61fa9cf96414552f512b72f8b41aca (patch) | |
tree | 37c85bf47d11fddee7baa9e14ca02551415e6ef5 /libc | |
parent | b24fcfb4858beef7d9114e2c4c5f10fc34b3182b (diff) |
handle _SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLN
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'libc')
-rw-r--r-- | libc/sysdeps/linux/common/bits/kernel-features.h | 5 | ||||
-rw-r--r-- | libc/unistd/sysconf.c | 24 |
2 files changed, 17 insertions, 12 deletions
diff --git a/libc/sysdeps/linux/common/bits/kernel-features.h b/libc/sysdeps/linux/common/bits/kernel-features.h index 88a71828b..5216d7bed 100644 --- a/libc/sysdeps/linux/common/bits/kernel-features.h +++ b/libc/sysdeps/linux/common/bits/kernel-features.h @@ -78,3 +78,8 @@ # define __ASSUME_FCNTL64 1 # define __ASSUME_VFORK_SYSCALL 1 #endif + +/* This header was added somewhere around 2.6.13 */ +#if __LINUX_KERNEL_VERSION >= 132621 +# define HAVE_LINUX_CPUMASK_H 1 +#endif diff --git a/libc/unistd/sysconf.c b/libc/unistd/sysconf.c index 37ccd4d63..82bcf2284 100644 --- a/libc/unistd/sysconf.c +++ b/libc/unistd/sysconf.c @@ -34,6 +34,16 @@ #include <regex.h> #endif +#ifdef HAVE_LINUX_CPUMASK_H +# include <linux/cpumask.h> +#endif +#ifndef num_present_cpus +# define num_present_cpus() (1) +#endif +#ifndef num_online_cpus +# define num_online_cpus() (1) +#endif + /* libc_hidden_proto(sysconf) */ /* libc_hidden_proto(getpagesize) */ @@ -658,20 +668,10 @@ long int sysconf(int name) #endif case _SC_NPROCESSORS_CONF: -#if 0 - RETURN_FUNCTION(get_nprocs_conf()); -#else - /* this is a hack. for now always claim we have exactly one cpu */ - return 1; -#endif + RETURN_FUNCTION(num_present_cpus()); case _SC_NPROCESSORS_ONLN: -#if 0 - RETURN_FUNCTION(get_nprocs()); -#else - /* this is a hack. for now always claim we have exactly one cpu */ - return 1; -#endif + RETURN_FUNCTION(num_online_cpus()); case _SC_PHYS_PAGES: #if 0 |