Issue #17914: We can now inline _bsd_cpu_count().

This commit is contained in:
Charles-Francois Natali 2013-05-20 17:40:32 +02:00
parent d59087de5b
commit 7c4f8dacf4

View File

@ -10319,27 +10319,6 @@ PyDoc_STRVAR(posix_cpu_count__doc__,
Return the number of CPUs in the system, or None if this value cannot be\n\ Return the number of CPUs in the system, or None if this value cannot be\n\
established."); established.");
#if defined(__DragonFly__) || \
defined(__OpenBSD__) || \
defined(__FreeBSD__) || \
defined(__NetBSD__) || \
defined(__APPLE__)
static int
_bsd_cpu_count(void)
{
int ncpu = 0;
int mib[2];
size_t len = sizeof(ncpu);
mib[0] = CTL_HW;
mib[1] = HW_NCPU;
if (sysctl(mib, 2, &ncpu, &len, NULL, 0) == 0)
return ncpu;
else
return 0;
}
#endif
static PyObject * static PyObject *
posix_cpu_count(PyObject *self) posix_cpu_count(PyObject *self)
{ {
@ -10357,7 +10336,12 @@ posix_cpu_count(PyObject *self)
defined(__FreeBSD__) || \ defined(__FreeBSD__) || \
defined(__NetBSD__) || \ defined(__NetBSD__) || \
defined(__APPLE__) defined(__APPLE__)
ncpu = _bsd_cpu_count(); int mib[2];
size_t len = sizeof(ncpu);
mib[0] = CTL_HW;
mib[1] = HW_NCPU;
if (sysctl(mib, 2, &ncpu, &len, NULL, 0) != 0)
ncpu = 0;
#endif #endif
if (ncpu >= 1) if (ncpu >= 1)
return PyLong_FromLong(ncpu); return PyLong_FromLong(ncpu);