8289477: Memory corruption with CPU_ALLOC, CPU_FREE on muslc

Reviewed-by: dholmes, clanger
This commit is contained in:
Thomas Stuefe 2022-06-30 06:19:25 +00:00
parent 31e50f2c76
commit da6d1fc0e0

@ -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:
//