diff --git a/rts/System/Platform/Linux/CpuTopology.cpp b/rts/System/Platform/Linux/CpuTopology.cpp index 08ad01a9b7..2e36da139d 100644 --- a/rts/System/Platform/Linux/CpuTopology.cpp +++ b/rts/System/Platform/Linux/CpuTopology.cpp @@ -68,10 +68,12 @@ std::vector get_thread_siblings(int cpu) { if (file) { std::string line; std::getline(file, line); - std::stringstream ss(line); - std::string token; - while (std::getline(ss, token, ',')) { - siblings.push_back(std::stoi(token)); + std::istringstream ss(line); + int sibling; + char sep; + while (ss >> sibling) { + siblings.push_back(sibling); + ss >> sep; // Skip separator (comma or other) } } return siblings; @@ -109,7 +111,7 @@ void collect_intel_affinity_masks(std::bitset &eff_mask, } } -// Collect CPU affinity masks for AMD using CPUID 0x8000001E +// Collect CPU affinity masks for AMD void collect_amd_affinity_masks(std::bitset &eff_mask, std::bitset &perf_mask, std::bitset &low_ht_mask,