From c0d19330c7df0a441545942e7ac87721c718edf4 Mon Sep 17 00:00:00 2001 From: Daniel Borkmann Date: Wed, 12 Jun 2013 12:45:49 +0200 Subject: cpus: let it always return an unsigned int and bail out on error In case of an error, just panic, to make sure we always get a val >= 1. Signed-off-by: Daniel Borkmann --- cpus.h | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/cpus.h b/cpus.h index d672daa..0626726 100644 --- a/cpus.h +++ b/cpus.h @@ -2,15 +2,27 @@ #define CPUS_H #include +#include "built_in.h" +#include "die.h" -static inline int get_number_cpus(void) +static inline unsigned int get_number_cpus(void) { - return sysconf(_SC_NPROCESSORS_CONF); + int ret = sysconf(_SC_NPROCESSORS_CONF); + + if (unlikely(ret <= 0)) + panic("get_number_cpus error!\n"); + + return ret; } -static inline int get_number_cpus_online(void) +static inline unsigned int get_number_cpus_online(void) { - return sysconf(_SC_NPROCESSORS_ONLN); + int ret = sysconf(_SC_NPROCESSORS_ONLN); + + if (unlikely(ret <= 0)) + panic("get_number_cpus_online error!\n"); + + return ret; } #endif /* CPUS_H */ -- cgit v1.2.3-54-g00ecf