Skip to content

Commit 038488a

Browse files
authored
fix: improve UDP error handling for session closure in commonUDPLoop and commonUDPOnce
1 parent 795e665 commit 038488a

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

internal/common.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"bytes"
77
"context"
88
"fmt"
9+
"io"
910
"net"
1011
"net/url"
1112
"os"
@@ -522,6 +523,8 @@ func (c *Common) commonUDPLoop() {
522523
if err != nil {
523524
if netErr, ok := err.(net.Error); ok && netErr.Timeout() {
524525
c.logger.Debug("UDP session abort: %v", err)
526+
} else if err == io.EOF {
527+
c.logger.Debug("UDP session close: %v", err)
525528
} else {
526529
c.logger.Error("Read failed: %v", err)
527530
}
@@ -707,6 +710,8 @@ func (c *Common) commonUDPOnce(signalURL *url.URL) {
707710
if err != nil {
708711
if netErr, ok := err.(net.Error); ok && netErr.Timeout() {
709712
c.logger.Debug("UDP session abort: %v", err)
713+
} else if err == io.EOF {
714+
c.logger.Debug("UDP session close: %v", err)
710715
} else {
711716
c.logger.Error("Read failed: %v", err)
712717
}
@@ -740,6 +745,8 @@ func (c *Common) commonUDPOnce(signalURL *url.URL) {
740745
if err != nil {
741746
if netErr, ok := err.(net.Error); ok && netErr.Timeout() {
742747
c.logger.Debug("UDP session abort: %v", err)
748+
} else if err == io.EOF {
749+
c.logger.Debug("UDP session close: %v", err)
743750
} else {
744751
c.logger.Error("Read failed: %v", err)
745752
}
@@ -900,8 +907,8 @@ func (c *Common) singleUDPLoop() error {
900907
if err != nil {
901908
if netErr, ok := err.(net.Error); ok && netErr.Timeout() {
902909
c.logger.Debug("UDP session abort: %v", err)
903-
} else if strings.Contains(err.Error(), "use of closed network connection") {
904-
c.logger.Debug("Read closed: %v", err)
910+
} else if err == io.EOF {
911+
c.logger.Debug("UDP session close: %v", err)
905912
} else {
906913
c.logger.Error("Read failed: %v", err)
907914
}

0 commit comments

Comments
 (0)