commit | 107f3e3c3b0b37888bfdc868e563e2973f54be61 | [log] [tgz] |
---|---|---|
author | Damien Neil <dneil@google.com> | Tue Sep 27 15:13:53 2022 -0700 |
committer | Damien Neil <dneil@google.com> | Fri Sep 30 21:31:12 2022 +0000 |
tree | 017d5fc841811d2bc60ef87fe01b7956d43ccaae | |
parent | f486391704dcfa95dab69d779cb1574e3c1f7db1 [diff] |
http2: don't return from RoundTrip until request body is closed Moving the Request.Body.Close call out from the ClientConn mutex results in some cases where RoundTrip returns while the Close is still in progress. This should be legal (RoundTrip explicitly allows for this), but net/http relies on Close never being called after RoundTrip returns. Add additional synchronization to ensure Close calls complete before RoundTrip returns. Fixes golang/go#55896 Change-Id: Ie3d4773966745e83987d219927929cb56ec1a7ad Reviewed-on: https://go-review.googlesource.com/c/net/+/435535 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Run-TryBot: Damien Neil <dneil@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
This repository holds supplementary Go networking libraries.
The easiest way to install is to run go get -u golang.org/x/net
. You can also manually git clone the repository to $GOPATH/src/golang.org/x/net
.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html. The main issue tracker for the net repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/net:” in the subject line, so it is easy to find.