summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pkg/rpc/client.go5
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;