mirror of
https://github.com/golang/go
synced 2024-11-23 06:40:05 -07:00
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: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
d487488135
commit
f6ca6eddaa
@ -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.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user