From 309db0446d4788c8e318cd8614e90187d1c7df7e Mon Sep 17 00:00:00 2001 From: Nicholas Asimov Date: Wed, 4 Aug 2021 00:13:55 +0000 Subject: [PATCH] internal/lsp/lsprpc: fix returning connection error on disconnect Fix connection error not being returned resulting in errors like `gopls: remote disconnected: `. 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 Run-TryBot: Robert Findley gopls-CI: kokoro TryBot-Result: Go Bot Trust: Peter Weinberger --- internal/lsp/lsprpc/lsprpc.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/lsp/lsprpc/lsprpc.go b/internal/lsp/lsprpc/lsprpc.go index 91770780c2..ca32f0e174 100644 --- a/internal/lsp/lsprpc/lsprpc.go +++ b/internal/lsp/lsprpc/lsprpc.go @@ -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