]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: add nanosleep on FreeBSD
authorDevon H. O'Dell <devon.odell@gmail.com>
Tue, 5 Jan 2010 17:21:15 +0000 (09:21 -0800)
committerRuss Cox <rsc@golang.org>
Tue, 5 Jan 2010 17:21:15 +0000 (09:21 -0800)
Fixes #461

R=rsc
CC=golang-dev
https://golang.org/cl/181059

src/pkg/syscall/syscall_freebsd.go
src/pkg/syscall/zsyscall_freebsd_386.go
src/pkg/syscall/zsyscall_freebsd_amd64.go

index 9b4ecd320f8fde220651802769aa3d7cf421997e..4a187dd89de4221da97d3c105fd1d5a9e3079b07 100644 (file)
@@ -520,6 +520,7 @@ func SysctlUint32(name string) (value uint32, errno int) {
 //sys  Mkdir(path string, mode int) (errno int)
 //sys  Mkfifo(path string, mode int) (errno int)
 //sys  Mknod(path string, mode int, dev int) (errno int)
+//sys  Nanosleep(time *Timespec, leftover *Timespec) (errno int)
 //sys  Open(path string, mode int, perm int) (fd int, errno int)
 //sys  Pathconf(path string, name int) (val int, errno int)
 //sys  Pread(fd int, p []byte, offset int64) (n int, errno int)
index 99f23d0fc42f5cb3481d2fdce0d65ea59d52eb45..8216dc760036faf7e7e0204b2f09280dc4d1bcf1 100644 (file)
@@ -425,6 +425,12 @@ func Mknod(path string, mode int, dev int) (errno int) {
        return
 }
 
+func Nanosleep(time *Timespec, leftover *Timespec) (errno int) {
+       _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
+       errno = int(e1)
+       return
+}
+
 func Open(path string, mode int, perm int) (fd int, errno int) {
        r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), uintptr(perm))
        fd = int(r0)
index a670ce14927f4b23e5b969b4c18b067011fba0c8..ccae89b3bc0f6f816197cce4790dd2e1e83829a9 100644 (file)
@@ -425,6 +425,12 @@ func Mknod(path string, mode int, dev int) (errno int) {
        return
 }
 
+func Nanosleep(time *Timespec, leftover *Timespec) (errno int) {
+       _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
+       errno = int(e1)
+       return
+}
+
 func Open(path string, mode int, perm int) (fd int, errno int) {
        r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), uintptr(perm))
        fd = int(r0)