diff options
author | Mathias Fredriksson <mafredri@gmail.com> | 2022-02-08 22:05:31 +0200 |
---|---|---|
committer | Mathias Fredriksson <mafredri@gmail.com> | 2022-02-08 22:16:20 +0200 |
commit | eb2617ac12b2432e8d8d22c7cae64b887d1c70e5 (patch) | |
tree | 61cac9885254a70b31b3ae8051a8f231f3e76536 /m4p | |
parent | 6436c86e0c53d9fbd83d883f76cbd8a267b6428e (diff) |
m4p: Avoid spamming use of closed network connection
Diffstat (limited to 'm4p')
-rw-r--r-- | m4p/client.go | 9 | ||||
-rw-r--r-- | m4p/discover.go | 5 |
2 files changed, 14 insertions, 0 deletions
diff --git a/m4p/client.go b/m4p/client.go index 526e6c2..45f8b77 100644 --- a/m4p/client.go +++ b/m4p/client.go @@ -4,6 +4,7 @@ import ( "context" "encoding/hex" "encoding/json" + "errors" "fmt" "log" "net" @@ -102,6 +103,10 @@ recvLoop: n, err := c.conn.Read(buf[:]) if err != nil { + if errors.Is(err, net.ErrClosed) { + log.Printf("m4p: Client: recv: connection closed: %v", err) + return + } log.Printf("m4p: Client: recv: read udp packet failed: %v", err) continue } @@ -163,6 +168,10 @@ func (c *Client) keepalive() { case <-clientKeepalive: _, err := c.conn.Write([]byte("{}")) if err != nil { + if errors.Is(err, net.ErrClosed) { + log.Printf("m4p: Client: keepalive: connection closed: %v", err) + return + } log.Printf("m4p: Client: keepalive: send client keepalive failed, disconnecting...") return } diff --git a/m4p/discover.go b/m4p/discover.go index a63dde2..4652939 100644 --- a/m4p/discover.go +++ b/m4p/discover.go @@ -1,6 +1,7 @@ package m4p import ( + "errors" "log" "net" ) @@ -37,6 +38,10 @@ func (d *Discoverer) discover() { for { n, addr, err := d.ln.ReadFromUDP(buf[:]) if err != nil { + if errors.Is(err, net.ErrClosed) { + log.Printf("m4p: Discoverer: discover: connection closed: %v", err) + return + } log.Printf("m4p: Discoverer: discover: read udp packet failed: %v", err) continue } |