With what exactly do you don't accept this patch?
2011/11/1 Jonathan Wakely <jwakely....@gmail.com>: > On 1 November 2011 11:54, Marc Glisse wrote: >> On Tue, 1 Nov 2011, niXman wrote: >> >>> diff --git a/libstdc++-v3/src/thread.cc b/libstdc++-v3/src/thread.cc >>> index 09e7fc5..6feda4d 100644 >>> --- a/libstdc++-v3/src/thread.cc >>> +++ b/libstdc++-v3/src/thread.cc >>> @@ -112,10 +112,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION >>> unsigned int >>> thread::hardware_concurrency() noexcept >>> { >>> - int __n = _GLIBCXX_NPROCS; >>> - if (__n < 0) >>> - __n = 0; >>> - return __n; >>> + int count=0; >>> +#if defined(PTW32_VERSION) || \ >>> + (defined(__MINGW64_VERSION_MAJOR) && defined(_POSIX_THREADS)) || \ >>> + defined(__hpux) >>> + count=pthread_num_processors_np(); >>> +#elif defined(__APPLE__) || defined(__FreeBSD__) >>> + size_t size=sizeof(count); >>> + sysctlbyname("hw.ncpu", &count, &size, NULL, 0); >>> +#elif defined(_SC_NPROCESSORS_ONLN) >>> + count=sysconf(_SC_NPROCESSORS_ONLN); >>> +#elif defined(_GLIBCXX_USE_GET_NPROCS) >>> + count=_GLIBCXX_NPROCS; >>> +#endif >>> + return (count>0)?count:0; >> >> Er, the macro _GLIBCXX_NPROCS already handles the case >> sysconf(_SC_NPROCESSORS_ONLN). It looks like you actually want to remove the >> macro _GLIBCXX_NPROCS completely. > > Right, I already handled the case of using sysconf. I'm going to veto > this patch in its current form - please check how it works now before > changing this code. > > _GLIBCXX_NPROCS should be made to call pthread_num_processors_np() for > mingw or HPUX. >