diff options
Diffstat (limited to 'src/pkg/syscall/syscall_plan9.go')
| -rw-r--r-- | src/pkg/syscall/syscall_plan9.go | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/pkg/syscall/syscall_plan9.go b/src/pkg/syscall/syscall_plan9.go index e2da9fe864..4379731f79 100644 --- a/src/pkg/syscall/syscall_plan9.go +++ b/src/pkg/syscall/syscall_plan9.go @@ -115,13 +115,22 @@ func Getppid() (ppid int) { } func Read(fd int, p []byte) (n int, err error) { - return Pread(fd, p, -1) + n, err = Pread(fd, p, -1) + 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 Pwrite(fd, p, -1) } +var ioSync int64 + func Getwd() (wd string, err error) { fd, e := Open(".", O_RDONLY) |
