Skip to content

Commit f8b1ca5

Browse files
authored
Merge pull request #3504 from martin-frbg/issue3503
Guard against omp_get_num_places returning zero
2 parents ee823b6 + b329e45 commit f8b1ca5

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

driver/others/memory.c

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -232,11 +232,11 @@ int get_num_procs(void);
232232
#else
233233
int get_num_procs(void) {
234234
static int nums = 0;
235-
235+
int ret;
236236
#if defined(__GLIBC_PREREQ)
237237
cpu_set_t cpuset,*cpusetp;
238238
size_t size;
239-
int ret;
239+
240240
#if !__GLIBC_PREREQ(2, 7)
241241
int i;
242242
#if !__GLIBC_PREREQ(2, 6)
@@ -249,7 +249,8 @@ int get_num_procs(void) {
249249

250250
#if defined(USE_OPENMP)
251251
#if _OPENMP >= 201511
252-
nums = omp_get_num_places();
252+
ret = omp_get_num_places();
253+
if (ret >0 ) nums = ret;
253254
#endif
254255
return nums;
255256
#endif
@@ -1800,11 +1801,12 @@ int get_num_procs(void);
18001801
int get_num_procs(void) {
18011802

18021803
static int nums = 0;
1803-
1804+
int ret;
1805+
18041806
#if defined(__GLIBC_PREREQ)
18051807
cpu_set_t cpuset,*cpusetp;
18061808
size_t size;
1807-
int ret;
1809+
18081810
#if !__GLIBC_PREREQ(2, 7)
18091811
int i;
18101812
#if !__GLIBC_PREREQ(2, 6)
@@ -1818,7 +1820,8 @@ int get_num_procs(void) {
18181820
#if defined(USE_OPENMP)
18191821
/* if (omp_get_proc_bind() != omp_proc_bind_false) */
18201822
#if _OPENMP >= 201511
1821-
nums = omp_get_num_places();
1823+
ret = omp_get_num_places();
1824+
if (ret >0 ) nums = ret;
18221825
#endif
18231826
return nums;
18241827
#endif

0 commit comments

Comments
 (0)