github.com/varialus/godfly@v0.0.0-20130904042352-1934f9f095ab/src/pkg/syscall/syscall_plan9_386.go (about)

     1  // Copyright 2009 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package syscall
     6  
     7  func Getpagesize() int { return 0x1000 }
     8  
     9  func nanotime() (nsec int64, err error) {
    10  	// TODO(paulzhol):
    11  	// avoid reopening a file descriptor for /dev/bintime on each call,
    12  	// use lower-level calls to avoid allocation.
    13  
    14  	var b [8]byte
    15  	nsec = -1
    16  
    17  	fd, err := Open("/dev/bintime", O_RDONLY)
    18  	if err != nil {
    19  		return
    20  	}
    21  	defer Close(fd)
    22  
    23  	if _, err = Pread(fd, b[:], 0); err != nil {
    24  		return
    25  	}
    26  
    27  	if nsec, err = DecodeBintime(b[:]); err != nil {
    28  		return -1, err
    29  	}
    30  
    31  	return
    32  }