diff options
author | Marat Dukhan <marat@fb.com> | 2018-03-24 23:21:02 -0700 |
---|---|---|
committer | Marat Dukhan <marat@fb.com> | 2018-03-24 23:21:02 -0700 |
commit | cf70aeeb83cbc1c582aca39793056904abcb1e57 (patch) | |
tree | 860516fa04782fd05a89747ce78c42163c093b49 /src/linux | |
parent | 806dcca7bdd4759db446a26b2080e6cbf3307edd (diff) | |
download | cpuinfo-cf70aeeb83cbc1c582aca39793056904abcb1e57.tar.gz |
Report fatal error and abort if any cpuinfo_get_* function is called before initialization
Diffstat (limited to 'src/linux')
-rw-r--r-- | src/linux/current.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/linux/current.c b/src/linux/current.c index d4a7f69..9d48b92 100644 --- a/src/linux/current.c +++ b/src/linux/current.c @@ -9,14 +9,18 @@ #include <cpuinfo.h> #include <api.h> +#include <log.h> #include <linux/api.h> -const struct cpuinfo_processor** cpuinfo_linux_cpu_to_processor_map; -const struct cpuinfo_core** cpuinfo_linux_cpu_to_core_map; +const struct cpuinfo_processor** cpuinfo_linux_cpu_to_processor_map = NULL; +const struct cpuinfo_core** cpuinfo_linux_cpu_to_core_map = NULL; const struct cpuinfo_processor* CPUINFO_ABI cpuinfo_get_current_processor(void) { + if (!cpuinfo_is_initialized) { + cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "current_processor"); + } const int cpu = sched_getcpu(); if (cpu >= 0) { return cpuinfo_linux_cpu_to_processor_map[cpu]; @@ -26,6 +30,9 @@ const struct cpuinfo_processor* CPUINFO_ABI cpuinfo_get_current_processor(void) } const struct cpuinfo_core* CPUINFO_ABI cpuinfo_get_current_core(void) { + if (!cpuinfo_is_initialized) { + cpuinfo_log_fatal("cpuinfo_get_%s called before cpuinfo is initialized", "current_core"); + } const int cpu = sched_getcpu(); if (cpu >= 0) { return cpuinfo_linux_cpu_to_core_map[cpu]; |