]> Cypherpunks repositories - gostls13.git/commit
net/http: fix RoundTrip context cancellation for js/wasm
authorAndy Nitschke <anitschk@mathworks.com>
Tue, 10 Jun 2025 15:09:35 +0000 (11:09 -0400)
committerDamien Neil <dneil@google.com>
Fri, 27 Jun 2025 15:23:27 +0000 (08:23 -0700)
commitfdc076ce762326fc19ef1b6de01da6ce50f55926
treeb18e3af7a402756735dce95b7ce72f16446e6240
parentd9d2cadd635f3b8fdfba0ab6369604f5e78643b0
net/http: fix RoundTrip context cancellation for js/wasm

The existing js/wasm implementation of RoundTrip calls abort() on the
fetch() call when the context is canceled but does not wait for for the
resulting promise to be rejected. The result is the failure callback for the
promise will be called at some later point in time when the promise
rejection is handled. In some case this callback may be called after the Go
program has exited resulting in "Go program has already exited" errors.

Fixes #57098

Change-Id: Ia37fd22cb9f667dbb0805ff5db0ceb8fdba7246b
Reviewed-on: https://go-review.googlesource.com/c/go/+/680937
Reviewed-by: Damien Neil <dneil@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
src/net/http/roundtrip_js.go