233115eaf5
runtime: support NumCPU() on more platforms Added support for Solaris, Irix, *BSD (including Darwin). Still missing support for RTEMS. Fixes issue 3698 in Go issue tracker. From-SVN: r190197
25 lines
451 B
C
25 lines
451 B
C
// Copyright 2012 The Go 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 <sys/types.h>
|
|
#include <sys/sysctl.h>
|
|
|
|
#include "runtime.h"
|
|
#include "defs.h"
|
|
|
|
int32
|
|
getproccount(void)
|
|
{
|
|
int mib[2], out;
|
|
size_t len;
|
|
|
|
mib[0] = CTL_HW;
|
|
mib[1] = HW_NCPU;
|
|
len = sizeof(out);
|
|
if(sysctl(mib, 2, &out, &len, NULL, 0) >= 0)
|
|
return (int32)out;
|
|
else
|
|
return 0;
|
|
}
|