From 6a7ec377c2b5079bd7c5e3927bb3348b7b7b58ba Mon Sep 17 00:00:00 2001 From: skmono Date: Sun, 20 Nov 2022 22:46:02 -0800 Subject: [PATCH] Add initialization to avoid occasional error of retrieving values --- ipcl/include/ipcl/utils/parse_cpuinfo.hpp | 5 ++++- ipcl/include/ipcl/utils/util.hpp | 2 +- ipcl/utils/parse_cpuinfo.cpp | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ipcl/include/ipcl/utils/parse_cpuinfo.hpp b/ipcl/include/ipcl/utils/parse_cpuinfo.hpp index 279aa4f..5d81163 100644 --- a/ipcl/include/ipcl/utils/parse_cpuinfo.hpp +++ b/ipcl/include/ipcl/utils/parse_cpuinfo.hpp @@ -40,6 +40,9 @@ typedef struct { static void parseCPUInfo(linuxCPUInfo& info) { std::ifstream cpuinfo; cpuinfo.exceptions(std::ifstream::badbit); + info.n_cores = 0; + info.n_processors = 0; + info.n_nodes = 0; try { cpuinfo.open("/proc/cpuinfo", std::ios::in); @@ -67,7 +70,7 @@ static void parseCPUInfo(linuxCPUInfo& info) { throw std::runtime_error(log.str()); } } -linuxCPUInfo GetLinuxCPUInfo(void); +linuxCPUInfo getLinuxCPUInfoImpl(void); } // namespace ipcl diff --git a/ipcl/include/ipcl/utils/util.hpp b/ipcl/include/ipcl/utils/util.hpp index a9f5ca6..17c6c4e 100644 --- a/ipcl/include/ipcl/utils/util.hpp +++ b/ipcl/include/ipcl/utils/util.hpp @@ -77,7 +77,7 @@ class OMPUtilities { private: #ifdef IPCL_RUNTIME_DETECT_CPU_FEATURES static const linuxCPUInfo cpuinfo; - static const linuxCPUInfo getLinuxCPUInfo() { return GetLinuxCPUInfo(); } + static const linuxCPUInfo getLinuxCPUInfo() { return getLinuxCPUInfoImpl(); } #endif static const int nodes; static const int cpus; diff --git a/ipcl/utils/parse_cpuinfo.cpp b/ipcl/utils/parse_cpuinfo.cpp index 2c1b135..a8b6141 100644 --- a/ipcl/utils/parse_cpuinfo.cpp +++ b/ipcl/utils/parse_cpuinfo.cpp @@ -6,7 +6,7 @@ #include #include -ipcl::linuxCPUInfo ipcl::GetLinuxCPUInfo(void) { +ipcl::linuxCPUInfo ipcl::getLinuxCPUInfoImpl(void) { ipcl::linuxCPUInfo info; ipcl::parseCPUInfo(info); return info;