diff options
Diffstat (limited to 'src/pkg/syscall/syscall_unix.go')
-rw-r--r-- | src/pkg/syscall/syscall_unix.go | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/pkg/syscall/syscall_unix.go b/src/pkg/syscall/syscall_unix.go index d4e02f68a..fee1fc491 100644 --- a/src/pkg/syscall/syscall_unix.go +++ b/src/pkg/syscall/syscall_unix.go @@ -127,3 +127,27 @@ func (s Signal) String() string { } return "signal " + itoa(int(s)) } + +func Read(fd int, p []byte) (n int, err error) { + n, err = read(fd, p) + if raceenabled && err == nil { + raceAcquire(unsafe.Pointer(&ioSync)) + } + return +} + +func Write(fd int, p []byte) (n int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + 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 |