diff options
Diffstat (limited to 'src/pkg/syscall/syscall_plan9_386.go')
-rw-r--r-- | src/pkg/syscall/syscall_plan9_386.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/pkg/syscall/syscall_plan9_386.go b/src/pkg/syscall/syscall_plan9_386.go index e82b540b4..7357e0ba6 100644 --- a/src/pkg/syscall/syscall_plan9_386.go +++ b/src/pkg/syscall/syscall_plan9_386.go @@ -3,3 +3,30 @@ // license that can be found in the LICENSE file. package syscall + +func Getpagesize() int { return 0x1000 } + +func nanotime() (nsec int64, err error) { + // TODO(paulzhol): + // avoid reopening a file descriptor for /dev/bintime on each call, + // use lower-level calls to avoid allocation. + + var b [8]byte + nsec = -1 + + fd, err := Open("/dev/bintime", O_RDONLY) + if err != nil { + return + } + defer Close(fd) + + if _, err = Pread(fd, b[:], 0); err != nil { + return + } + + if nsec, err = DecodeBintime(b[:]); err != nil { + return -1, err + } + + return +} |