commit | 62292e8068687e1bbdf3697f9996d706cb013ac5 | [log] [tgz] |
---|---|---|
author | Damien Neil <dneil@google.com> | Wed Oct 06 09:36:17 2021 -0700 |
committer | Damien Neil <dneil@google.com> | Wed Oct 06 19:02:31 2021 +0000 |
tree | 86108db41db707b2ecf9a7cbd04d57eb677e7b77 | |
parent | d2e5035098b3de466b3d1632f4e8d2e6f9b69e33 [diff] |
http2: detect write-blocked PING frames We start the PingTimeout timer before writing a PING frame. However, writing the frame can block indefinitely (either acquiring cc.wmu or writing to the conn), and the timer is not checked until after the frame is written. Move PING writes into a separate goroutine, so we can detect write-blocked connections. Fixes golang/go#48810. Change-Id: Ifd67fa23799e750d02754e1fe5d32719f60faed4 Reviewed-on: https://go-review.googlesource.com/c/net/+/354389 Trust: Damien Neil <dneil@google.com> Run-TryBot: Damien Neil <dneil@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@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.