From 8837065bca77382f7d7584783b2e4a9dbe6421fa Mon Sep 17 00:00:00 2001 From: Josh Deprez Date: Tue, 23 Apr 2024 14:49:38 +1000 Subject: [PATCH] More waitgroup --- main.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/main.go b/main.go index 5a20c09..e64e4e7 100644 --- a/main.go +++ b/main.go @@ -143,12 +143,11 @@ func main() { zones.Upsert(cfg.EtherTalk.NetStart, cfg.EtherTalk.ZoneName, true) // -------------------------------- Peers --------------------------------- - // Wait until all peer handlers have finished before closing the port - var handlersWG sync.WaitGroup + var wg sync.WaitGroup goPeerHandler := func(p *router.Peer) { - handlersWG.Add(1) + wg.Add(1) go func() { - defer handlersWG.Done() + defer wg.Done() p.Handle(ctx) }() } @@ -241,7 +240,10 @@ func main() { } // ---------------------- Raw AppleTalk/AARP inbound ---------------------- + wg.Add(1) go func() { + defer wg.Done() + ctx, setStatus, done := status.AddSimpleItem(ctx, "EtherTalk inbound") defer done() @@ -366,7 +368,10 @@ func main() { }() // ----------------------------- AURP inbound ----------------------------- + wg.Add(1) go func() { + defer wg.Done() + ctx, setStatus, done := status.AddSimpleItem(ctx, "AURP inbound") defer done() setStatus("Running") @@ -500,7 +505,7 @@ func main() { }() // -------------------------------- Close --------------------------------- - handlersWG.Wait() + wg.Wait() } // Hashable net.UDPAddr