Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Side by Side Diff: base/sys_info_posix.cc

Issue 180037: Port some of the base system to FreeBSD. Extracted from... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « base/process_util_posix.cc ('k') | base/third_party/nspr/prcpucfg.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/file_util.h" 5 #include "base/file_util.h"
6 #include "base/sys_info.h" 6 #include "base/sys_info.h"
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 8
9 #include <errno.h> 9 #include <errno.h>
10 #include <string.h> 10 #include <string.h>
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 NOTREACHED(); 45 NOTREACHED();
46 return 1; 46 return 1;
47 } 47 }
48 48
49 return static_cast<int>(res); 49 return static_cast<int>(res);
50 #endif 50 #endif
51 } 51 }
52 52
53 // static 53 // static
54 int64 SysInfo::AmountOfPhysicalMemory() { 54 int64 SysInfo::AmountOfPhysicalMemory() {
55 // _SC_PHYS_PAGES is not part of POSIX and not available on OS X 55 // _SC_PHYS_PAGES is not part of POSIX and not available on OS X or
56 // FreeBSD
56 #if defined(OS_MACOSX) 57 #if defined(OS_MACOSX)
57 struct host_basic_info hostinfo; 58 struct host_basic_info hostinfo;
58 mach_msg_type_number_t count = HOST_BASIC_INFO_COUNT; 59 mach_msg_type_number_t count = HOST_BASIC_INFO_COUNT;
59 int result = host_info(mach_host_self(), 60 int result = host_info(mach_host_self(),
60 HOST_BASIC_INFO, 61 HOST_BASIC_INFO,
61 reinterpret_cast<host_info_t>(&hostinfo), 62 reinterpret_cast<host_info_t>(&hostinfo),
62 &count); 63 &count);
63 DCHECK_EQ(HOST_BASIC_INFO_COUNT, count); 64 DCHECK_EQ(HOST_BASIC_INFO_COUNT, count);
64 if (result != KERN_SUCCESS) { 65 if (result != KERN_SUCCESS) {
65 NOTREACHED(); 66 NOTREACHED();
66 return 0; 67 return 0;
67 } 68 }
68 69
69 return static_cast<int64>(hostinfo.max_mem); 70 return static_cast<int64>(hostinfo.max_mem);
71 #elif defined(OS_FREEBSD)
72 // TODO(benl): I have no idea how to get this
73 NOTIMPLEMENTED();
74 return 0;
70 #else 75 #else
71 long pages = sysconf(_SC_PHYS_PAGES); 76 long pages = sysconf(_SC_PHYS_PAGES);
72 long page_size = sysconf(_SC_PAGE_SIZE); 77 long page_size = sysconf(_SC_PAGE_SIZE);
73 if (pages == -1 || page_size == -1) { 78 if (pages == -1 || page_size == -1) {
74 NOTREACHED(); 79 NOTREACHED();
75 return 0; 80 return 0;
76 } 81 }
77 82
78 return static_cast<int64>(pages) * page_size; 83 return static_cast<int64>(pages) * page_size;
79 #endif 84 #endif
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 file_util::ReadFileToString(FilePath("/proc/sys/kernel/shmmax"), &contents); 167 file_util::ReadFileToString(FilePath("/proc/sys/kernel/shmmax"), &contents);
163 limit = strtoul(contents.c_str(), NULL, 0); 168 limit = strtoul(contents.c_str(), NULL, 0);
164 limit_valid = true; 169 limit_valid = true;
165 } 170 }
166 171
167 return limit; 172 return limit;
168 } 173 }
169 #endif 174 #endif
170 175
171 } // namespace base 176 } // namespace base
OLDNEW
« no previous file with comments | « base/process_util_posix.cc ('k') | base/third_party/nspr/prcpucfg.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698