From 9cca6b916cfb930f3b68673caf99abf113aaaed7 Mon Sep 17 00:00:00 2001 From: patterniha <71074308+patterniha@users.noreply.github.com> Date: Tue, 9 Sep 2025 16:11:18 +0330 Subject: [PATCH] Update bridge.go --- app/reverse/bridge.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/reverse/bridge.go b/app/reverse/bridge.go index 7886ca61..7fb5856c 100644 --- a/app/reverse/bridge.go +++ b/app/reverse/bridge.go @@ -133,7 +133,7 @@ func NewBridgeWorker(domain string, tag string, d routing.Dispatcher) (*BridgeWo terminate := func() { worker.Close() } - w.timer = signal.CancelAfterInactivity(ctx, terminate, 24*time.Hour) // prevent leak + w.timer = signal.CancelAfterInactivity(ctx, terminate, 60*time.Second) // prevent leak return w, nil } @@ -166,14 +166,20 @@ func (w *BridgeWorker) handleInternalConn(link *transport.Link) { for { mb, err := reader.ReadMultiBuffer() if err != nil { - break + if w.Closed() { + w.timer.SetTimeout(0) + } else { + w.timer.SetTimeout(24 * time.Hour) + } + return } w.timer.Update() for _, b := range mb { var ctl Control if err := proto.Unmarshal(b.Bytes(), &ctl); err != nil { errors.LogInfoInner(context.Background(), err, "failed to parse proto message") - break + w.timer.SetTimeout(0) + return } if ctl.State != w.state { w.state = ctl.State