You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A yamux session hands back the error that killed it from Accept. When the
connection to Caddy stops answering reads, that error is a TCP timeout,
which net.Error calls temporary, so http.Server treated it as a transient
accept failure and retried forever ("http: Accept error: ...; retrying in
1s") instead of returning. DialAndServe never returned, so the backoff in
cmd/clientproxy never re-dialed and only a restart recovered.
Wrap the session in a listener that drops the net.Error behavior of accept
errors (still unwrapping for errors.Is), so Serve returns and the caller
reconnects. Also stop the context AfterFunc once serve ends.