1c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott// Copyright (c) 2009 The Chromium Authors. All rights reserved. 2c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott// Use of this source code is governed by a BSD-style license that can be 3c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott// found in the LICENSE file. 4c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 5c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott#include "base/sys_info.h" 6c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 7c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include <sys/param.h> 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include <sys/sysctl.h> 9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 10c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott#include "base/logging.h" 11c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 12c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottnamespace base { 13c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 14c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottint SysInfo::NumberOfProcessors() { 15c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott int mib[] = { CTL_HW, HW_NCPU }; 16c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott int ncpu; 17c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott size_t size = sizeof(ncpu); 18c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott if (sysctl(mib, 2, &ncpu, &size, NULL, 0) == -1) { 19c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott NOTREACHED(); 20c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott return 1; 21c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott } 22c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott return ncpu; 23c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott} 24c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 25c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott} // namespace base 26