Skip to content

Commit cc2f99c

Browse files
neildmknyszek
authored andcommitted
[internal-branch.go1.16-vendor] http2: avoid busy loop when ResponseHeaderTimeout is set
Don't keep reading from respHeaderRecv after the response headers are received. For golang/go#49615. Fixes golang/go#49623. Change-Id: Ib8126c954930011ac09b2cbc70bbbce76531b7db Reviewed-on: https://go-review.googlesource.com/c/net/+/364574 Trust: Damien Neil <[email protected]> Run-TryBot: Damien Neil <[email protected]> TryBot-Result: Go Bot <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]> (cherry picked from commit 47ca1ff) Reviewed-on: https://go-review.googlesource.com/c/net/+/368376 Reviewed-by: Michael Knyszek <[email protected]>
1 parent 5533dda commit cc2f99c

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

http2/transport.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1239,6 +1239,7 @@ func (cs *clientStream) writeRequest(req *http.Request) (err error) {
12391239
case <-respHeaderTimer:
12401240
return errTimeout
12411241
case <-respHeaderRecv:
1242+
respHeaderRecv = nil
12421243
respHeaderTimer = nil // keep waiting for END_STREAM
12431244
case <-cs.abort:
12441245
return cs.abortErr

0 commit comments

Comments
 (0)