From b62ad97e59717e5994aa18bf9b5ba1601f7934d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Papp?= Date: Thu, 25 Jul 2024 12:37:59 +0200 Subject: [PATCH] Fix wg state check exit logic --- client/internal/peer/worker_relay.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/internal/peer/worker_relay.go b/client/internal/peer/worker_relay.go index 138f4aeae..0e341ed14 100644 --- a/client/internal/peer/worker_relay.go +++ b/client/internal/peer/worker_relay.go @@ -63,10 +63,8 @@ func (w *WorkerRelay) OnNewOffer(remoteOfferAnswer *OfferAnswer) { srv := w.preferredRelayServer(currentRelayAddress, remoteOfferAnswer.RelaySrvAddress) - w.ctx, w.ctxCancel = context.WithCancel(w.parentCtx) relayedConn, err := w.relayManager.OpenConn(srv, w.config.Key, w.disconnected) if err != nil { - w.ctxCancel() // todo handle all type errors if errors.Is(err, relayClient.ErrConnAlreadyExists) { w.log.Infof("do not need to reopen relay connection") @@ -76,6 +74,8 @@ func (w *WorkerRelay) OnNewOffer(remoteOfferAnswer *OfferAnswer) { return } + w.ctx, w.ctxCancel = context.WithCancel(w.parentCtx) + go w.wgStateCheck(relayedConn) w.log.Debugf("Relay connection established with %s", srv)