diff options
Diffstat (limited to 'libgo/go/runtime/os_hurd.go')
-rw-r--r-- | libgo/go/runtime/os_hurd.go | 21 |
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()) + } +} |