@@ -93,13 +93,11 @@ func serveTCP(ctx context.Context) error {
9393
9494 eg , ctx := errgroup .WithContext (ctx )
9595 for _ , listenAddr := range listenAddrs {
96- listenAddr := listenAddr
96+ ln , err := lc .Listen (ctx , "tcp" , listenAddr )
97+ if err != nil {
98+ return fmt .Errorf ("listen %q error: %s" , listenAddr , err )
99+ }
97100 eg .Go (func () error {
98- ln , err := lc .Listen (ctx , "tcp" , listenAddr )
99- if err != nil {
100- return fmt .Errorf ("listen %q error: %s" , listenAddr , err )
101- }
102-
103101 for {
104102 conn , err := ln .Accept ()
105103 if err != nil {
@@ -180,13 +178,12 @@ func serveUDP(ctx context.Context) error {
180178
181179 eg , ctx := errgroup .WithContext (ctx )
182180 for _ , listenAddr := range listenAddrs {
183- listenAddr := listenAddr
181+ // create listening socket
182+ ln , err := lc .ListenPacket (ctx , "udp4" , listenAddr )
183+ if err != nil {
184+ return fmt .Errorf ("listen %q error: %s" , listenAddr , err )
185+ }
184186 eg .Go (func () error {
185- // create listening socket
186- ln , err := lc .ListenPacket (ctx , "udp4" , listenAddr )
187- if err != nil {
188- return fmt .Errorf ("listen %q error: %s" , listenAddr , err )
189- }
190187 defer ln .Close ()
191188
192189 bufUDPPool = sync.Pool {
0 commit comments