shithub: mc

Download patch

ref: bb9114fe7f070794477f0cd0f907dcf709c3fd8b
parent: 3e24000ddb275369ba68282e2c9406f6b1c23736
author: Ori Bernstein <ori@eigenstate.org>
date: Sun Nov 20 14:00:23 EST 2016

Allow requesting CPU counts on FreeBSD

--- /dev/null
+++ b/lib/thread/ncpu+freebsd.myr
@@ -1,0 +1,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
+}