1c60e0d [release-branch.go1.15] net/http: add connections back that haven't been canceled

1 file Authored by Michael Fraenkel 3 years ago, Committed by Dmitri Shuralyov 3 years ago,
    [release-branch.go1.15] net/http: add connections back that haven't been canceled
    
    Issue #41600 fixed the issue when a second request canceled a connection
    while the first request was still in roundTrip.
    This uncovered a second issue where a request was being canceled (in
    roundtrip) but the connection was put back into the idle pool for a
    subsequent request.
    The fix is the similar except its now in readLoop instead of roundTrip.
    A persistent connection is only added back if it successfully removed
    the cancel function; otherwise we know the roundTrip has started
    cancelRequest.
    
    Fixes #42935.
    Updates #42942.
    
    Change-Id: Ia56add20880ccd0c1ab812d380d8628e45f6f44c
    Reviewed-on: https://go-review.googlesource.com/c/go/+/274973
    Trust: Dmitri Shuralyov <dmitshur@golang.org>
    Trust: Damien Neil <dneil@google.com>
    Reviewed-by: Damien Neil <dneil@google.com>
    (cherry picked from commit 854a2f8e01a554d8052445563863775406a04b71)
    Reviewed-on: https://go-review.googlesource.com/c/go/+/297910
    Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
    TryBot-Result: Go Bot <gobot@golang.org>
    
        
file modified
+12 -10