blob: 1aa3dc18f4e1e956086c9436b984080d1248c907 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
use std
use sys
pkg thread =
const ncpu : (-> int)
;;
const ncpu = {
var mib : int[2]
var ncpu : int
var ncpusz
var res
mib[0] = 6 /* CTL_HW */
mib[1] = 3 /* HW_NCPU */
ncpusz = sizeof(int)
res = sys.sysctl(mib[:], (&ncpu : void#), &ncpusz, (0 : void#), (0 : sys.size#))
if res < 0 || ncpu <= 0
-> 1
;;
-> ncpu
}
|