aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/runtime/os_hurd.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/runtime/os_hurd.go')
-rw-r--r--libgo/go/runtime/os_hurd.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/libgo/go/runtime/os_hurd.go b/libgo/go/runtime/os_hurd.go
index 1282553..3a545d0 100644
--- a/libgo/go/runtime/os_hurd.go
+++ b/libgo/go/runtime/os_hurd.go
@@ -8,6 +8,12 @@ package runtime
import "unsafe"
+//extern sysconf
+func sysconf(int32) _C_long
+
+//extern getpagesize
+func getPageSize() int32
+
type mOS struct {
waitsema uintptr // semaphore for parking on locks
}
@@ -85,3 +91,18 @@ func semawakeup(mp *m) {
throw("sem_post")
}
}
+
+func getncpu() int32 {
+ n := int32(sysconf(_SC_NPROCESSORS_ONLN))
+ if n < 1 {
+ return 1
+ }
+ return n
+}
+
+func osinit() {
+ ncpu = getncpu()
+ if physPageSize == 0 {
+ physPageSize = uintptr(getPageSize())
+ }
+}