aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/syscall/syscall_linux_arm.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/syscall/syscall_linux_arm.go')
-rw-r--r--src/pkg/syscall/syscall_linux_arm.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/pkg/syscall/syscall_linux_arm.go b/src/pkg/syscall/syscall_linux_arm.go
index 68c796b448..9fe80232a8 100644
--- a/src/pkg/syscall/syscall_linux_arm.go
+++ b/src/pkg/syscall/syscall_linux_arm.go
@@ -23,9 +23,17 @@ func NsecToTimeval(nsec int64) (tv Timeval) {
return
}
-// Seek is defined in assembly.
+// Underlying system call writes to newoffset via pointer.
+// Implemented in assembly to avoid allocation.
+func seek(fd int, offset int64, whence int) (newoffset int64, err Errno)
-func Seek(fd int, offset int64, whence int) (newoffset int64, err error)
+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
+ newoffset, errno := seek(fd, offset, whence)
+ if errno != 0 {
+ return 0, errno
+ }
+ return newoffset, nil
+}
//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)