diff options
| -rw-r--r-- | src/pkg/rpc/client.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/pkg/rpc/client.go b/src/pkg/rpc/client.go index 122763f4e..c4e8a6bc7 100644 --- a/src/pkg/rpc/client.go +++ b/src/pkg/rpc/client.go @@ -43,8 +43,8 @@ func (client *Client) send(c *Call) { // Register this call. client.Lock(); if client.shutdown != nil { - client.Unlock(); c.Error = client.shutdown; + client.Unlock(); doNotBlock := c.Done <- c; return; } @@ -72,6 +72,9 @@ func (client *Client) serve() { response := new(Response); err = client.dec.Decode(response); if err != nil { + if err == os.EOF { + err = io.ErrUnexpectedEOF; + } break } seq := response.Seq; |
