Commit f6ca6edd authored by Aman Gupta's avatar Aman Gupta Committed by Ian Lance Taylor

net: document caveats for (*syscall.RawConn).Write on Windows

Change-Id: I6e1fa67dc9d4d151c90eb19a6f736e4daa7d4fb3
Reviewed-on: https://go-review.googlesource.com/107615
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
parent d4874881
......@@ -946,11 +946,13 @@ func (fd *FD) RawWrite(f func(uintptr) bool) error {
return err
}
defer fd.writeUnlock()
for {
if f(uintptr(fd.Sysfd)) {
return nil
}
if f(uintptr(fd.Sysfd)) {
return nil
}
// TODO(tmm1): find a way to detect socket writability
return syscall.EWINDOWS
}
func sockaddrToRaw(sa syscall.Sockaddr) (unsafe.Pointer, int32, error) {
......
......@@ -9,6 +9,12 @@ import (
"syscall"
)
// BUG(tmm1): On Windows, the Write method of syscall.RawConn
// does not integrate with the runtime's network poller. It cannot
// wait for the connection to become writeable, and does not respect
// deadlines. If the user-provided callback returns false, the Write
// method will fail immediately.
// BUG(mikio): On NaCl and Plan 9, the Control, Read and Write methods
// of syscall.RawConn are not implemented.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment