From cd634ce9b623c4f7419c5fe8367e8b858104c6c5 Mon Sep 17 00:00:00 2001 From: zarazaex69 Date: Thu, 9 Apr 2026 19:14:06 +0300 Subject: [PATCH] fix(peer): Add wait group tracking to goroutines for graceful shutdown --- internal/telemost/peer.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/internal/telemost/peer.go b/internal/telemost/peer.go index d1bf101..cefb5f3 100644 --- a/internal/telemost/peer.go +++ b/internal/telemost/peer.go @@ -105,7 +105,11 @@ func (p *Peer) Connect(ctx context.Context) error { dcReady := make(chan struct{}) p.dc.OnOpen(func() { log.Println("DataChannel opened") - go p.processSendQueue() + p.wg.Add(1) + go func() { + defer p.wg.Done() + p.processSendQueue() + }() close(dcReady) }) @@ -156,7 +160,11 @@ func (p *Peer) Connect(ctx context.Context) error { ws.SetReadDeadline(time.Now().Add(60 * time.Second)) - go p.keepAlive() + p.wg.Add(1) + go func() { + defer p.wg.Done() + p.keepAlive() + }() if err := p.sendHello(); err != nil { return err