From 606865b2b96b08fead93a48f1d0721cc8a4e0a9d Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Sun, 23 Nov 2025 11:18:45 -0600 Subject: [PATCH] fix udp server not closing with router context --- udp-server.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/udp-server.go b/udp-server.go index 7ee1cb9..acc8dbe 100644 --- a/udp-server.go +++ b/udp-server.go @@ -5,6 +5,7 @@ import ( "log" "log/slog" "net" + "time" ) type UDPServer struct { @@ -68,8 +69,14 @@ func (us *UDPServer) Run() error { slog.Debug("router context done in module", "id", us.config.Id) return nil default: + listener.SetDeadline(time.Now().Add(time.Millisecond * 200)) + numBytes, _, err := listener.ReadFromUDP(buffer) if err != nil { + //NOTE(jwetzell) we hit deadline + if opErr, ok := err.(*net.OpError); ok && opErr.Timeout() { + continue + } return err } message := buffer[:numBytes]