From 5f5ac6a852057825cb054642785c2b30ab46f1b2 Mon Sep 17 00:00:00 2001 From: "evan@chromium.org" Date: Mon, 23 Nov 2009 21:57:11 +0000 Subject: posix: split OS-specific bits out of sys_info_posix Split into Linux and BSD-specific files. Review URL: http://codereview.chromium.org/427010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32860 0039d316-1c4b-4281-b951-d872f2087c98 --- base/sys_info_posix.cc | 52 ++------------------------------------------------ 1 file changed, 2 insertions(+), 50 deletions(-) (limited to 'base/sys_info_posix.cc') diff --git a/base/sys_info_posix.cc b/base/sys_info_posix.cc index 34d9df3..af33331 100644 --- a/base/sys_info_posix.cc +++ b/base/sys_info_posix.cc @@ -26,19 +26,10 @@ namespace base { +#if !defined(OS_OPENBSD) int SysInfo::NumberOfProcessors() { -#if defined(OS_OPENBSD) - int mib[] = { CTL_HW, HW_NCPU }; - int ncpu; - size_t size = sizeof(ncpu); - if (sysctl(mib, 2, &ncpu, &size, NULL, 0) == -1) { - NOTREACHED(); - return 1; - } - return ncpu; -#else // It seems that sysconf returns the number of "logical" processors on both - // mac and linux. So we get the number of "online logical" processors. + // Mac and Linux. So we get the number of "online logical" processors. long res = sysconf(_SC_NPROCESSORS_ONLN); if (res == -1) { NOTREACHED(); @@ -46,28 +37,6 @@ int SysInfo::NumberOfProcessors() { } return static_cast(res); -#endif -} - -#if !defined(OS_MACOSX) -// static -int64 SysInfo::AmountOfPhysicalMemory() { -#if defined(OS_FREEBSD) - // _SC_PHYS_PAGES is not part of POSIX and not available on OS X or - // FreeBSD - // TODO(benl): I have no idea how to get this - NOTIMPLEMENTED(); - return 0; -#else - long pages = sysconf(_SC_PHYS_PAGES); - long page_size = sysconf(_SC_PAGE_SIZE); - if (pages == -1 || page_size == -1) { - NOTREACHED(); - return 0; - } - - return static_cast(pages) * page_size; -#endif } #endif @@ -156,21 +125,4 @@ size_t SysInfo::VMAllocationGranularity() { return getpagesize(); } -#if defined(OS_LINUX) -// static -size_t SysInfo::MaxSharedMemorySize() { - static size_t limit; - static bool limit_valid = false; - - if (!limit_valid) { - std::string contents; - file_util::ReadFileToString(FilePath("/proc/sys/kernel/shmmax"), &contents); - limit = strtoul(contents.c_str(), NULL, 0); - limit_valid = true; - } - - return limit; -} -#endif - } // namespace base -- cgit v1.1