]> Cypherpunks repositories - gostls13.git/commitdiff
syscalls: annotate Sendfile() for race detector
authorDmitriy Vyukov <dvyukov@google.com>
Mon, 29 Oct 2012 19:15:06 +0000 (23:15 +0400)
committerDmitriy Vyukov <dvyukov@google.com>
Mon, 29 Oct 2012 19:15:06 +0000 (23:15 +0400)
Fixes #4306.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/6816054

13 files changed:
src/pkg/syscall/syscall_darwin.go
src/pkg/syscall/syscall_freebsd_386.go
src/pkg/syscall/syscall_freebsd_amd64.go
src/pkg/syscall/syscall_freebsd_arm.go
src/pkg/syscall/syscall_linux_386.go
src/pkg/syscall/syscall_linux_amd64.go
src/pkg/syscall/syscall_linux_arm.go
src/pkg/syscall/syscall_netbsd.go
src/pkg/syscall/syscall_openbsd.go
src/pkg/syscall/syscall_unix.go
src/pkg/syscall/zsyscall_linux_386.go
src/pkg/syscall/zsyscall_linux_amd64.go
src/pkg/syscall/zsyscall_linux_arm.go

index 273a62eae4cde415a7e953b9b8fc87341ba8e136..7fe406aaa259696061cf4cce9b4eaa1ef63db892 100644 (file)
@@ -97,7 +97,7 @@ func Pipe(p []int) (err error) {
 }
 
 // TODO
-func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
        return -1, ENOSYS
 }
 
@@ -334,7 +334,7 @@ func Kill(pid int, signum Signal) (err error) { return kill(pid, int(signum), 1)
 // __pthread_canceled
 // __semwait_signal
 // Proc_info
-// Sendfile
+// sendfile
 // Stat64_extended
 // Lstat64_extended
 // Fstat64_extended
index de670e67cbb16ba7cf5599f1e9d1c40a85fc1889..ebd3d4c9cf835317c394ebeb976975c866802330 100644 (file)
@@ -43,7 +43,7 @@ func (cmsg *Cmsghdr) SetLen(length int) {
        cmsg.Len = uint32(length)
 }
 
-func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
        var writtenOut uint64 = 0
        _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0)
 
index 46bb5c6b0e0c214f1f325d135cee90c6035138fc..70c2ffb0350085d53af429abc6fd211738af2301 100644 (file)
@@ -43,7 +43,7 @@ func (cmsg *Cmsghdr) SetLen(length int) {
        cmsg.Len = uint32(length)
 }
 
-func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
        var writtenOut uint64 = 0
        _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0)
 
index 00133ed061020b9bfccb2cb3f81ba27d5dc06fc3..ab72871ddadb0d4333688df8fc0f65b72eb59037 100644 (file)
@@ -43,7 +43,7 @@ func (cmsg *Cmsghdr) SetLen(length int) {
        cmsg.Len = uint32(length)
 }
 
-func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
        var writtenOut uint64 = 0
        _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0)
 
index f838a54bd9bacc4bc53c0908ea3d70ae9df47ef1..58bc9b53f1adf36323bc7ca111bb0bebc110fc36 100644 (file)
@@ -41,7 +41,7 @@ func NsecToTimeval(nsec int64) (tv Timeval) {
 //sys  Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
 //sys  Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
 //sys  Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
-//sys  Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64
+//sys  sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64
 //sys  Setfsgid(gid int) (err error) = SYS_SETFSGID32
 //sys  Setfsuid(uid int) (err error) = SYS_SETFSUID32
 //sysnb        Setgid(gid int) (err error) = SYS_SETGID32
index 54d8dbe0e6936c7bb533fe1ab361c4070cee0f13..b0d236cdc1da16eabdb16006202bdda55ccbb86a 100644 (file)
@@ -23,7 +23,7 @@ package syscall
 //sys  Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
 //sys  Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
 //sys  Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
-//sys  Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
+//sys  sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
 //sys  Setfsgid(gid int) (err error)
 //sys  Setfsuid(uid int) (err error)
 //sysnb        Setgid(gid int) (err error)
index 547a4eb9bcf6636d5afbd71e4c61bafdbef7f344..f2859cfaf2eba051aa3c33f8cab3ed38a4506926 100644 (file)
@@ -55,7 +55,7 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error)
 //sys  Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32
 //sys  Listen(s int, n int) (err error)
 //sys  Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
-//sys  Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64
+//sys  sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64
 //sys  Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT
 //sys  Setfsgid(gid int) (err error) = SYS_SETFSGID32
 //sys  Setfsuid(uid int) (err error) = SYS_SETFSUID32
index adaaa42a701ed218dda0fa8649a4b8dc39ea761b..b0fa1112da33fbfde940c21116010937dca1913b 100644 (file)
@@ -133,7 +133,7 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
 }
 
 // TODO
-func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
        return -1, ENOSYS
 }
 
index 8f2b0854a094755294f3b7d4629f8b7a10cdf8b6..a146dca2cd01447bd0f3d4f5cd17c7c17bf11275 100644 (file)
@@ -91,7 +91,7 @@ func Pipe(p []int) (err error) {
 }
 
 // TODO
-func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
        return -1, ENOSYS
 }
 
index 978350829b70be562c74e8ce7fbbe51c08a6a154..fee1fc491fd3c09368634f28afd5ec437eaf2b86 100644 (file)
@@ -143,4 +143,11 @@ func Write(fd int, p []byte) (n int, err error) {
        return write(fd, p)
 }
 
+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+       if raceenabled {
+               raceReleaseMerge(unsafe.Pointer(&ioSync))
+       }
+       return sendfile(outfd, infd, offset, count)
+}
+
 var ioSync int64
index 0364c51c60fb5c8472783665bf41ccc7d7117ea1..dd0cefb4b6c7ed1d3f2278ec28489a7eb3362f42 100644 (file)
@@ -1371,7 +1371,7 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
        r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)
        written = int(r0)
        if e1 != 0 {
index 82c8b0408a817d9f3e02c255b9f68191fe8350f2..323c099568ece7689b8242dc060d99eda19bebc1 100644 (file)
@@ -1423,7 +1423,7 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
        r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)
        written = int(r0)
        if e1 != 0 {
index 3bb4b75f7ba4abd20baf02f53738b8420e9e3e11..2e1d498da966df925836397e389c2d141b799f1f 100644 (file)
@@ -1484,7 +1484,7 @@ func Lstat(path string, stat *Stat_t) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
        r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0)
        written = int(r0)
        if e1 != 0 {