fix udp server not closing with router context

This commit is contained in:
Joel Wetzell
2025-11-23 11:18:45 -06:00
parent ca137db613
commit 606865b2b9

View File

@@ -5,6 +5,7 @@ import (
"log" "log"
"log/slog" "log/slog"
"net" "net"
"time"
) )
type UDPServer struct { type UDPServer struct {
@@ -68,8 +69,14 @@ func (us *UDPServer) Run() error {
slog.Debug("router context done in module", "id", us.config.Id) slog.Debug("router context done in module", "id", us.config.Id)
return nil return nil
default: default:
listener.SetDeadline(time.Now().Add(time.Millisecond * 200))
numBytes, _, err := listener.ReadFromUDP(buffer) numBytes, _, err := listener.ReadFromUDP(buffer)
if err != nil { if err != nil {
//NOTE(jwetzell) we hit deadline
if opErr, ok := err.(*net.OpError); ok && opErr.Timeout() {
continue
}
return err return err
} }
message := buffer[:numBytes] message := buffer[:numBytes]