Merge pull request #3504 from martin-frbg/issue3503

Guard against omp_get_num_places returning zero
This commit is contained in:
Martin Kroeker 2022-01-01 11:43:17 +01:00 committed by GitHub
commit f8b1ca5039
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 6 deletions

View File

@ -232,11 +232,11 @@ int get_num_procs(void);
#else #else
int get_num_procs(void) { int get_num_procs(void) {
static int nums = 0; static int nums = 0;
int ret;
#if defined(__GLIBC_PREREQ) #if defined(__GLIBC_PREREQ)
cpu_set_t cpuset,*cpusetp; cpu_set_t cpuset,*cpusetp;
size_t size; size_t size;
int ret;
#if !__GLIBC_PREREQ(2, 7) #if !__GLIBC_PREREQ(2, 7)
int i; int i;
#if !__GLIBC_PREREQ(2, 6) #if !__GLIBC_PREREQ(2, 6)
@ -249,7 +249,8 @@ int get_num_procs(void) {
#if defined(USE_OPENMP) #if defined(USE_OPENMP)
#if _OPENMP >= 201511 #if _OPENMP >= 201511
nums = omp_get_num_places(); ret = omp_get_num_places();
if (ret >0 ) nums = ret;
#endif #endif
return nums; return nums;
#endif #endif
@ -1800,11 +1801,12 @@ int get_num_procs(void);
int get_num_procs(void) { int get_num_procs(void) {
static int nums = 0; static int nums = 0;
int ret;
#if defined(__GLIBC_PREREQ) #if defined(__GLIBC_PREREQ)
cpu_set_t cpuset,*cpusetp; cpu_set_t cpuset,*cpusetp;
size_t size; size_t size;
int ret;
#if !__GLIBC_PREREQ(2, 7) #if !__GLIBC_PREREQ(2, 7)
int i; int i;
#if !__GLIBC_PREREQ(2, 6) #if !__GLIBC_PREREQ(2, 6)
@ -1818,7 +1820,8 @@ int get_num_procs(void) {
#if defined(USE_OPENMP) #if defined(USE_OPENMP)
/* if (omp_get_proc_bind() != omp_proc_bind_false) */ /* if (omp_get_proc_bind() != omp_proc_bind_false) */
#if _OPENMP >= 201511 #if _OPENMP >= 201511
nums = omp_get_num_places(); ret = omp_get_num_places();
if (ret >0 ) nums = ret;
#endif #endif
return nums; return nums;
#endif #endif