diff --git a/protocol/group/failover.go b/protocol/group/failover.go index 55ff0082..c0362163 100644 --- a/protocol/group/failover.go +++ b/protocol/group/failover.go @@ -100,6 +100,9 @@ func (s *Failover) ListenPacket(ctx context.Context, destination M.Socksaddr) (n s.logger.ErrorContext(ctx, err) continue } + s.mtx.Lock() + defer s.mtx.Unlock() + s.lastUsedOutbound = outbound.Tag() return conn, nil } return nil, err