From da6d1fc0e0aeb1fdb504aced4b0dba0290ec240f Mon Sep 17 00:00:00 2001 From: Thomas Stuefe Date: Thu, 30 Jun 2022 06:19:25 +0000 Subject: [PATCH] 8289477: Memory corruption with CPU_ALLOC, CPU_FREE on muslc Reviewed-by: dholmes, clanger --- src/hotspot/os/linux/os_linux.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp index 726926218907..8ee10e201c69 100644 --- a/src/hotspot/os/linux/os_linux.cpp +++ b/src/hotspot/os/linux/os_linux.cpp @@ -4591,7 +4591,8 @@ static int _cpu_count(const cpu_set_t* cpus) { // dynamic check - see 6515172 for details. // If anything goes wrong we fallback to returning the number of online // processors - which can be greater than the number available to the process. -int os::Linux::active_processor_count() { +static int get_active_processor_count() { + // Note: keep this function, with its CPU_xx macros, *outside* the os namespace (see JDK-8289477). cpu_set_t cpus; // can represent at most 1024 (CPU_SETSIZE) processors cpu_set_t* cpus_p = &cpus; int cpus_size = sizeof(cpu_set_t); @@ -4663,6 +4664,10 @@ int os::Linux::active_processor_count() { return cpu_count; } +int os::Linux::active_processor_count() { + return get_active_processor_count(); +} + // Determine the active processor count from one of // three different sources: //