diff --git a/stream.go b/stream.go index 3ac5f6a6..d8bdc16b 100644 --- a/stream.go +++ b/stream.go @@ -138,7 +138,9 @@ func NewClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth case <-t.Error(): // Incur transport error, simply exit. case <-s.Context().Done(): - cs.closeTransportStream(transport.ContextErr(s.Context().Err())) + err := s.Context().Err() + cs.finish(err) + cs.closeTransportStream(transport.ContextErr(err)) } }() return cs, nil