net/http: allow reuse of http.Request objects
Calling response.Body.Close() early would generarate a race before this. Since closing would return early before the main code path had a chance to reset the request canceler. Having a non-nil request canceler at the start of the next request would cause a "request canceled" error. Here we simply wait for the eofc channel to be closed before returning from earlyCloseFn, ensuring that the caller won't be re-using that Request object before we have a chance to reset the request canceler to nil. Fixes #21838 Change-Id: I641815526c6ac63d1816c9b6ad49d73715f7a5cb Reviewed-on: https://go-review.googlesource.com/62891 Run-TryBot: Tom Bergan <tombergan@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:Tom Bergan <tombergan@google.com>
Showing
Please
register
or
sign in
to comment