]> Cypherpunks repositories - gostls13.git/commitdiff
fixes for rpc:
authorRob Pike <r@golang.org>
Tue, 13 Apr 2010 00:14:28 +0000 (17:14 -0700)
committerRob Pike <r@golang.org>
Tue, 13 Apr 2010 00:14:28 +0000 (17:14 -0700)
- don't log normal EOF
- fix ServeConn to block as documented

R=rsc, msolo
CC=golang-dev
https://golang.org/cl/886043

src/pkg/rpc/server.go

index fa013f16328021c485079794c842e846f2c01823..413f9a59acf1363dc3f3e6fd66d719ad093c9b4c 100644 (file)
@@ -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