Disentangle pathways for cpu counts above and below 1024
This commit is contained in:
parent
8b37c8a143
commit
ad86d7ceb2
|
@ -236,13 +236,13 @@ int get_num_procs(void) {
|
||||||
#endif
|
#endif
|
||||||
return nums;
|
return nums;
|
||||||
#else
|
#else
|
||||||
|
if (nums >= CPU_SETSIZE) {
|
||||||
cpusetp = CPU_ALLOC(nums);
|
cpusetp = CPU_ALLOC(nums);
|
||||||
if (cpusetp == NULL) {
|
if (cpusetp == NULL) {
|
||||||
return nums;
|
return nums;
|
||||||
}
|
}
|
||||||
cpuset = *cpusetp;
|
|
||||||
size = CPU_ALLOC_SIZE(nums);
|
size = CPU_ALLOC_SIZE(nums);
|
||||||
ret = sched_getaffinity(0,sizeof(cpuset),&cpuset);
|
ret = sched_getaffinity(0,size,cpusetp);
|
||||||
if (ret!=0) {
|
if (ret!=0) {
|
||||||
CPU_FREE(cpusetp);
|
CPU_FREE(cpusetp);
|
||||||
return nums;
|
return nums;
|
||||||
|
@ -251,6 +251,15 @@ int get_num_procs(void) {
|
||||||
if (ret > 0 && ret < nums) nums = ret;
|
if (ret > 0 && ret < nums) nums = ret;
|
||||||
CPU_FREE(cpusetp);
|
CPU_FREE(cpusetp);
|
||||||
return nums;
|
return nums;
|
||||||
|
} else {
|
||||||
|
ret = sched_getaffinity(0,sizeof(cpuset),&cpuset);
|
||||||
|
if (ret!=0) {
|
||||||
|
return nums;
|
||||||
|
}
|
||||||
|
ret = CPU_COUNT(&cpuset);
|
||||||
|
if (ret > 0 && ret < nums) nums = ret;
|
||||||
|
return nums;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -1763,13 +1772,13 @@ int get_num_procs(void) {
|
||||||
#endif
|
#endif
|
||||||
return nums;
|
return nums;
|
||||||
#else
|
#else
|
||||||
|
if (nums >= CPU_SETSIZE) {
|
||||||
cpusetp = CPU_ALLOC(nums);
|
cpusetp = CPU_ALLOC(nums);
|
||||||
if (cpusetp == NULL) {
|
if (cpusetp == NULL) {
|
||||||
return nums;
|
return nums;
|
||||||
}
|
}
|
||||||
cpuset = *cpusetp;
|
|
||||||
size = CPU_ALLOC_SIZE(nums);
|
size = CPU_ALLOC_SIZE(nums);
|
||||||
ret = sched_getaffinity(0,sizeof(cpuset),&cpuset);
|
ret = sched_getaffinity(0,size,cpusetp);
|
||||||
if (ret!=0) {
|
if (ret!=0) {
|
||||||
CPU_FREE(cpusetp);
|
CPU_FREE(cpusetp);
|
||||||
return nums;
|
return nums;
|
||||||
|
@ -1778,6 +1787,15 @@ int get_num_procs(void) {
|
||||||
if (ret > 0 && ret < nums) nums = ret;
|
if (ret > 0 && ret < nums) nums = ret;
|
||||||
CPU_FREE(cpusetp);
|
CPU_FREE(cpusetp);
|
||||||
return nums;
|
return nums;
|
||||||
|
} else {
|
||||||
|
ret = sched_getaffinity(0,sizeof(cpuset),&cpuset);
|
||||||
|
if (ret!=0) {
|
||||||
|
return nums;
|
||||||
|
}
|
||||||
|
ret = CPU_COUNT(&cpuset);
|
||||||
|
if (ret > 0 && ret < nums) nums = ret;
|
||||||
|
return nums;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue