aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2010-04-12 17:14:28 -0700
committerRob Pike <r@golang.org>2010-04-12 17:14:28 -0700
commitc701c38e136576b75ec771c311d66c19c149b386 (patch)
tree1c729ba69cde10670bb2f40b84f763db82bddaad
parentd9254d00f9fdb3499bee4347e7eb3de53f673bc6 (diff)
downloadgo-c701c38e136576b75ec771c311d66c19c149b386.tar.gz
go-c701c38e136576b75ec771c311d66c19c149b386.zip
fixes for rpc:
- don't log normal EOF - fix ServeConn to block as documented R=rsc, msolo CC=golang-dev https://golang.org/cl/886043
-rw-r--r--src/pkg/rpc/server.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/pkg/rpc/server.go b/src/pkg/rpc/server.go
index fa013f1632..413f9a59ac 100644
--- a/src/pkg/rpc/server.go
+++ b/src/pkg/rpc/server.go
@@ -313,7 +313,9 @@ func (server *serverType) input(conn io.ReadWriteCloser) {
err := dec.Decode(req)
if err != nil {
if err == os.EOF || err == io.ErrUnexpectedEOF {
- log.Stderr("rpc: ", err)
+ if err == io.ErrUnexpectedEOF {
+ log.Stderr("rpc: ", err)
+ }
break
}
s := "rpc: server cannot decode request: " + err.String()
@@ -377,7 +379,7 @@ func Register(rcvr interface{}) os.Error { return server.register(rcvr) }
// ServeConn runs the server on a single connection. When the connection
// completes, service terminates. ServeConn blocks; the caller typically
// invokes it in a go statement.
-func ServeConn(conn io.ReadWriteCloser) { go server.input(conn) }
+func ServeConn(conn io.ReadWriteCloser) { server.input(conn) }
// Accept accepts connections on the listener and serves requests
// for each incoming connection. Accept blocks; the caller typically