internal/lsp/lsprpc: fix returning connection error on disconnect

Fix connection error not being returned resulting in errors like `gopls: remote disconnected: <nil>`.

Change-Id: I67fa1143b2fa0fd44c946040fc1bad51b1636183
GitHub-Last-Rev: 9ebae5c3b85b7bb73eb67bb1ee8028f6f504a83d
GitHub-Pull-Request: golang/tools#334
Reviewed-on: https://go-review.googlesource.com/c/tools/+/339709
Reviewed-by: Robert Findley <rfindley@google.com>
Run-TryBot: Robert Findley <rfindley@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Peter Weinberger <pjw@google.com>
This commit is contained in:
Nicholas Asimov 2021-08-04 00:13:55 +00:00 committed by Robert Findley
parent 2f64839e75
commit 309db0446d
1 changed files with 2 additions and 2 deletions

View File

@ -225,9 +225,9 @@ func (f *Forwarder) ServeStream(ctx context.Context, clientConn jsonrpc2.Conn) e
err = nil
if serverConn.Err() != nil {
err = errors.Errorf("remote disconnected: %v", err)
err = errors.Errorf("remote disconnected: %v", serverConn.Err())
} else if clientConn.Err() != nil {
err = errors.Errorf("client disconnected: %v", err)
err = errors.Errorf("client disconnected: %v", clientConn.Err())
}
event.Log(ctx, fmt.Sprintf("forwarder: exited with error: %v", err))
return err