mirror of
https://github.com/golang/net.git
synced 2026-03-31 18:37:08 +09:00
http2: on write errors, close ClientConn before returning from RoundTrip
Deflakes TestTransportRoundtripCloseOnWriteError. Fixes golang/go#48995. Change-Id: I4384d9091d55307d15fbd44b1b8137dcc8939c86 Reviewed-on: https://go-review.googlesource.com/c/net/+/356029 Trust: Damien Neil <dneil@google.com> Run-TryBot: Damien Neil <dneil@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Go Bot <gobot@golang.org>
This commit is contained in:
@@ -1395,7 +1395,6 @@ func (cs *clientStream) cleanupWriteRequest(err error) {
|
||||
if cs.ID != 0 {
|
||||
cc.forgetStreamID(cs.ID)
|
||||
}
|
||||
close(cs.donec)
|
||||
|
||||
cc.wmu.Lock()
|
||||
werr := cc.werr
|
||||
@@ -1403,6 +1402,8 @@ func (cs *clientStream) cleanupWriteRequest(err error) {
|
||||
if werr != nil {
|
||||
cc.Close()
|
||||
}
|
||||
|
||||
close(cs.donec)
|
||||
}
|
||||
|
||||
// awaitOpenSlotForStream waits until len(streams) < maxConcurrentStreams.
|
||||
|
||||
Reference in New Issue
Block a user