Skip to content

Commit 9592dd5

Browse files
neildmknyszek
authored andcommitted
[internal-branch.go1.17-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#49624. 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/+/368377 Reviewed-by: Michael Knyszek <[email protected]>
1 parent 94fb2bc commit 9592dd5

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
@@ -1235,6 +1235,7 @@ func (cs *clientStream) writeRequest(req *http.Request) (err error) {
12351235
case <-respHeaderTimer:
12361236
return errTimeout
12371237
case <-respHeaderRecv:
1238+
respHeaderRecv = nil
12381239
respHeaderTimer = nil // keep waiting for END_STREAM
12391240
case <-cs.abort:
12401241
return cs.abortErr

0 commit comments

Comments
 (0)