No runtime change — the listener already uses net.ListenUDP + ReadFromUDP, which is the unconnected-socket pattern that accepts datagrams from any source. nginx reloads (new workers with fresh ephemeral source ports) are handled transparently. - udp.go: expanded comment on Run() explaining the design choice and contrasting with the `nc -k -u -l` latching quirk (which is an nc bug, not a kernel behaviour). - udp_test.go: new TestUDPListenerMultipleSources regresses against the multi-worker scenario by sending from three independent ListenPacket sockets (three different ephemeral source ports). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.6 KiB
2.6 KiB