context/ctxhttp: fix data race in tests

Change-Id: If36de4de2c4fac6767aa5490e6f3d8c15531dda6
Reviewed-on: https://go-review.googlesource.com/20275
Reviewed-by: Dave Day <djd@golang.org>
This commit is contained in:
Brad Fitzpatrick
2016-03-05 22:58:14 +00:00
parent 08f168e593
commit a4bbce9fca

View File

@@ -39,6 +39,11 @@ func Do(ctx context.Context, client *http.Client, req *http.Request) (*http.Resp
}
result := make(chan responseAndError, 1)
// Make local copies of test hooks closed over by goroutines below.
// Prevents data races in tests.
testHookDoReturned := testHookDoReturned
testHookDidBodyClose := testHookDidBodyClose
go func() {
resp, err := client.Do(req)
testHookDoReturned()