diff options
Diffstat (limited to 'src/lib/net/fd.go')
| -rw-r--r-- | src/lib/net/fd.go | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/net/fd.go b/src/lib/net/fd.go index 977df37a4..f9fba2bc0 100644 --- a/src/lib/net/fd.go +++ b/src/lib/net/fd.go @@ -248,9 +248,11 @@ func (fd *FD) Write(p *[]byte) (n int, err *os.Error) { if fd == nil || fd.osfd == nil { return -1, os.EINVAL } + // TODO(rsc): Lock fd while writing to avoid interlacing writes. err = nil; nn := 0; for nn < len(p) && err == nil { + // TODO(rsc): If os.FD.Write loops, have to use syscall instead. n, err = fd.osfd.Write(p[nn:len(p)]); for err == os.EAGAIN { pollserver.WaitWrite(fd); |
