From 3f70ec6f8ad9701ee69b9541efd31d600535f069 Mon Sep 17 00:00:00 2001 From: iamqizhao Date: Mon, 10 Aug 2015 18:26:03 -0700 Subject: [PATCH] fix a race --- transport/http2_client.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/transport/http2_client.go b/transport/http2_client.go index 0986ef01..41e2069e 100644 --- a/transport/http2_client.go +++ b/transport/http2_client.go @@ -266,6 +266,10 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Strea return nil, err } t.mu.Lock() + if t.state != reachable { + t.mu.Unlock() + return nil, ErrConnClosing + } s := t.newStream(ctx, callHdr) t.activeStreams[s.id] = s t.mu.Unlock()