summaryrefslogtreecommitdiff
path: root/src/lib/net/fd.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/net/fd.go')
-rw-r--r--src/lib/net/fd.go2
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);