From: Rob Pike Date: Tue, 13 Apr 2010 00:14:28 +0000 (-0700) Subject: fixes for rpc: X-Git-Tag: weekly.2010-04-13~9 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=c701c38e136576b75ec771c311d66c19c149b386;p=gostls13.git 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 --- 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