Chromium Code Reviews| Index: base/sys_info_openbsd.cc |
| diff --git a/base/sys_info_openbsd.cc b/base/sys_info_openbsd.cc |
| index b9aec20e74cd9cbf0b60155194f86be84fd039b1..746b4e270addeab49ecd6f0d6338ea8c283eb578 100644 |
| --- a/base/sys_info_openbsd.cc |
| +++ b/base/sys_info_openbsd.cc |
| @@ -10,8 +10,23 @@ |
| #include "base/logging.h" |
| +namespace { |
| + |
| +int64 AmountOfMemory(int pages_name) { |
| + long pages = sysconf(pages_name); |
| + long page_size = sysconf(_SC_PAGESIZE); |
| + if (pages == -1 || page_size == -1) { |
| + NOTREACHED(); |
| + return 0; |
| + } |
| + return static_cast<int64>(pages) * page_size; |
| +} |
| + |
| +} // namespace |
| + |
| namespace base { |
| +// static |
| int SysInfo::NumberOfProcessors() { |
| int mib[] = { CTL_HW, HW_NCPU }; |
| int ncpu; |
| @@ -23,26 +38,38 @@ int SysInfo::NumberOfProcessors() { |
| return ncpu; |
| } |
| +// static |
| int64 SysInfo::AmountOfPhysicalMemory() { |
| - long pages = sysconf(_SC_PHYS_PAGES); |
| - long page_size = sysconf(_SC_PAGESIZE); |
| - if (pages == -1 || page_size == -1) { |
| - NOTREACHED(); |
| - return 0; |
| - } |
| + return AmountOfMemory(_SC_PHYS_PAGES); |
| +} |
| - return static_cast<int64>(pages) * page_size; |
| +// static |
| +int64 SysInfo::AmountOfAvailablePhysicalMemory() { |
| + return AmountOfMemory(_SC_AVPHYS_PAGES); |
| } |
| +// static |
| size_t SysInfo::MaxSharedMemorySize() { |
| int mib[] = { CTL_KERN, KERN_SHMINFO, KERN_SHMINFO_SHMMAX }; |
| size_t limit; |
| size_t size = sizeof(limit); |
| - if (sysctl(mib, arraysize(mib), &limit, &size, NULL, 0) < 0) { |
| + if (sysctl(mib, arraysize(mib), &limit, &size, NULL, 0) == -1) { |
|
Mark Mentovai
2013/04/09 22:14:21
I wouldn’t normally pick on this, but I can’t see
mdempsky_google
2013/04/09 23:06:32
No problem. Your project, your rules. :)
|
| NOTREACHED(); |
| return 0; |
| } |
| return limit; |
| } |
| +// static |
| +std::string SysInfo::CPUModelName() { |
| + int mib[] = { CTL_HW, HW_MODEL }; |
| + char name[256]; |
| + size_t len = arraysize(name); |
| + if (sysctl(mib, arraysize(mib), name, &len, NULL, 0) == -1) { |
| + NOTREACHED(); |
| + return std::string(); |
| + } |
| + return name; |
| +} |
| + |
| } // namespace base |