github.com/prattmic/llgo-embedded@v0.0.0-20150820070356-41cfecea0e1e/third_party/gofrontend/libgo/runtime/getncpu-bsd.c (about) 1 // Copyright 2012 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 #include <sys/types.h> 6 #include <sys/sysctl.h> 7 8 #include "runtime.h" 9 #include "defs.h" 10 11 int32 12 getproccount(void) 13 { 14 int mib[2], out; 15 size_t len; 16 17 mib[0] = CTL_HW; 18 mib[1] = HW_NCPU; 19 len = sizeof(out); 20 if(sysctl(mib, 2, &out, &len, NULL, 0) >= 0) 21 return (int32)out; 22 else 23 return 0; 24 }