diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-06-11 14:17:10 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-06-11 14:17:10 +0100 |
commit | 5adfd733728a4f14df5665f4c2a604a7356e5f19 (patch) | |
tree | f2938c4a08576b45508b02481edfec55eac3ac8b /net-irc/soju/files/soju-0.6.0-fix-dup-upstream-connections.patch | |
parent | fbba40085f5d1591a67b49f5aa48b4071b7560f1 (diff) |
gentoo auto-resync : 11:06:2023 - 14:17:09
Diffstat (limited to 'net-irc/soju/files/soju-0.6.0-fix-dup-upstream-connections.patch')
-rw-r--r-- | net-irc/soju/files/soju-0.6.0-fix-dup-upstream-connections.patch | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/net-irc/soju/files/soju-0.6.0-fix-dup-upstream-connections.patch b/net-irc/soju/files/soju-0.6.0-fix-dup-upstream-connections.patch deleted file mode 100644 index ca1f0fdf41c7..000000000000 --- a/net-irc/soju/files/soju-0.6.0-fix-dup-upstream-connections.patch +++ /dev/null @@ -1,69 +0,0 @@ -https://todo.sr.ht/~emersion/soju/207 - -diff -u b/user.go b/user.go ---- b/user.go -+++ b/user.go -@@ -218,6 +218,7 @@ - net.user.srv.metrics.upstreams.Add(1) - defer net.user.srv.metrics.upstreams.Add(-1) - -+ done := ctx.Done() - ctx, cancel := context.WithTimeout(ctx, time.Minute) - defer cancel() - -@@ -227,6 +228,12 @@ - } - defer uc.Close() - -+ // The context is cancelled by the caller when the network is stopped. -+ go func() { -+ <-done -+ uc.Close() -+ }() -+ - if net.user.srv.Identd != nil { - net.user.srv.Identd.Store(uc.RemoteAddr().String(), uc.LocalAddr().String(), userIdent(&net.user.User)) - defer net.user.srv.Identd.Delete(uc.RemoteAddr().String(), uc.LocalAddr().String()) -@@ -239,9 +246,6 @@ - return fmt.Errorf("failed to register: %w", err) - } - -- // TODO: this is racy with net.stopped. If the network is stopped -- // before the user goroutine receives eventUpstreamConnected, the -- // connection won't be closed. - net.user.events <- eventUpstreamConnected{uc} - defer func() { - net.user.events <- eventUpstreamDisconnected{uc} -@@ -259,6 +263,12 @@ - return - } - -+ ctx, cancel := context.WithCancel(context.TODO()) -+ go func() { -+ <-net.stopped -+ cancel() -+ }() -+ - var lastTry time.Time - backoff := newBackoffer(retryConnectMinDelay, retryConnectMaxDelay, retryConnectJitter) - for { -@@ -273,7 +283,7 @@ - } - lastTry = time.Now() - -- if err := net.runConn(context.TODO()); err != nil { -+ if err := net.runConn(ctx); err != nil { - text := err.Error() - temp := true - var regErr registrationError -@@ -299,10 +309,6 @@ - if !net.isStopped() { - close(net.stopped) - } -- -- if net.conn != nil { -- net.conn.Close() -- } - } - - func (net *network) detach(ch *database.Channel) { |