diff options
author | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-23 21:57:11 +0000 |
---|---|---|
committer | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-23 21:57:11 +0000 |
commit | 5f5ac6a852057825cb054642785c2b30ab46f1b2 (patch) | |
tree | ddc517c52e9e32560c38d298da06d9c2c52b0500 /base/sys_info_freebsd.cc | |
parent | 930a187b4f69bbe38746021f715307d85d92cf3f (diff) | |
download | chromium_src-5f5ac6a852057825cb054642785c2b30ab46f1b2.zip chromium_src-5f5ac6a852057825cb054642785c2b30ab46f1b2.tar.gz chromium_src-5f5ac6a852057825cb054642785c2b30ab46f1b2.tar.bz2 |
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
Diffstat (limited to 'base/sys_info_freebsd.cc')
-rw-r--r-- | base/sys_info_freebsd.cc | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/base/sys_info_freebsd.cc b/base/sys_info_freebsd.cc new file mode 100644 index 0000000..4d375a7 --- /dev/null +++ b/base/sys_info_freebsd.cc @@ -0,0 +1,31 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "base/sys_info.h" + +#include "base/logging.h" + +namespace base { + +int64 SysInfo::AmountOfPhysicalMemory() { + int pages, page_size; + size_t size = sizeof(pages); + sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); + sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); + if (pages == -1 || page_size == -1) { + NOTREACHED(); + return 0; + } + return static_cast<int64>(pages) * page_size; +} + +// static +size_t SysInfo::MaxSharedMemorySize() { + size_t limit; + size_t size = sizeof(limit); + sysctlbyname("kern.ipc.shmmax", &limit, &size, NULL, 0); + return limit; +} + +} // namespace base |