diff options
Diffstat (limited to 'src/pkg/syscall/syscall_windows.go')
| -rw-r--r-- | src/pkg/syscall/syscall_windows.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/pkg/syscall/syscall_windows.go b/src/pkg/syscall/syscall_windows.go index 342eb56928..e997409d23 100644 --- a/src/pkg/syscall/syscall_windows.go +++ b/src/pkg/syscall/syscall_windows.go @@ -267,10 +267,16 @@ func Read(fd Handle, p []byte) (n int, err error) { } return 0, e } + if raceenabled { + raceAcquire(unsafe.Pointer(&ioSync)) + } return int(done), nil } func Write(fd Handle, p []byte) (n int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } var done uint32 e := WriteFile(fd, p, &done, nil) if e != nil { @@ -279,6 +285,8 @@ func Write(fd Handle, p []byte) (n int, err error) { return int(done), nil } +var ioSync int64 + func Seek(fd Handle, offset int64, whence int) (newoffset int64, err error) { var w uint32 switch whence { |
