From 6bf29b83962586520b4dd5acbc8a62cc3dd3bebc Mon Sep 17 00:00:00 2001 From: cgf Date: Wed, 9 Jul 2003 23:59:47 +0000 Subject: [PATCH] * sysconf.cc (sysconf): Return processors online rather than bitmask for _SC_NPROCESSORS_ONLN. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/sysconf.cc | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index e860b36b36..47ee10ba6c 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2003-07-09 Christopher Faylor + + * sysconf.cc (sysconf): Return processors online rather than bitmask + for _SC_NPROCESSORS_ONLN. + 2003-07-08 Christopher Faylor * cygheap.cc (creturn): Set appropriate errno when out of memory. diff --git a/winsup/cygwin/sysconf.cc b/winsup/cygwin/sysconf.cc index 944afdd41a..760208adc9 100644 --- a/winsup/cygwin/sysconf.cc +++ b/winsup/cygwin/sysconf.cc @@ -90,7 +90,14 @@ sysconf (int in) case _SC_NPROCESSORS_CONF: return sbi.NumberProcessors; case _SC_NPROCESSORS_ONLN: - return sbi.ActiveProcessors; + { + int i = 0; + do + if (sbi.ActiveProcessors & 1) + i++; + while (sbi.ActiveProcessors >>= 1); + return i; + } case _SC_PHYS_PAGES: return sbi.NumberOfPhysicalPages; case _SC_AVPHYS_PAGES: -- 2.11.0