From 85bf679acc597e76c9de47b9c6dab002c3cb7a6e Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 7 Mar 2007 22:23:47 +0000 Subject: [PATCH] fixed detection of number of processors under Linux 2.6 (replaces patch 1663444) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 1 + src/unix/threadpsx.cpp | 16 ++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index 668df944db..51f7f7a444 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -62,6 +62,7 @@ All: - Made wxTextFile work with unseekable files again (David Hart). - Added wxCONFIG_USE_SUBDIR flag to wxFileConfig (Giuseppe Bilotta). - Added wxSearchCtrl::[Get|Set]DescriptiveText. +- Fixed detection of number of processors under Linux 2.6 wxMSW diff --git a/src/unix/threadpsx.cpp b/src/unix/threadpsx.cpp index ff291daa3f..983ac3632a 100644 --- a/src/unix/threadpsx.cpp +++ b/src/unix/threadpsx.cpp @@ -988,7 +988,14 @@ void wxThread::Sleep(unsigned long milliseconds) int wxThread::GetCPUCount() { -#if defined(__LINUX__) && wxUSE_FFILE +#if defined(_SC_NPROCESSORS_ONLN) + // this works for Solaris and Linux 2.6 + int rc = sysconf(_SC_NPROCESSORS_ONLN); + if ( rc != -1 ) + { + return rc; + } +#elif defined(__LINUX__) && wxUSE_FFILE // read from proc (can't use wxTextFile here because it's a special file: // it has 0 size but still can be read from) wxLogNull nolog; @@ -1014,13 +1021,6 @@ int wxThread::GetCPUCount() wxLogDebug(_T("failed to read /proc/cpuinfo")); } } -#elif defined(_SC_NPROCESSORS_ONLN) - // this works for Solaris - int rc = sysconf(_SC_NPROCESSORS_ONLN); - if ( rc != -1 ) - { - return rc; - } #endif // different ways to get number of CPUs // unknown