diff options
Diffstat (limited to 'libgo/go/syscall/syscall_unix.go')
-rw-r--r-- | libgo/go/syscall/syscall_unix.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libgo/go/syscall/syscall_unix.go b/libgo/go/syscall/syscall_unix.go index d4bff9efc9c1..fb62681a9e1f 100644 --- a/libgo/go/syscall/syscall_unix.go +++ b/libgo/go/syscall/syscall_unix.go @@ -179,3 +179,20 @@ func Signame(s Signal) string func (s Signal) String() string { return Signame(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) +} + +var ioSync int64 |