summaryrefslogtreecommitdiff
path: root/m4p
diff options
context:
space:
mode:
authorMathias Fredriksson <mafredri@gmail.com>2022-02-08 22:05:31 +0200
committerMathias Fredriksson <mafredri@gmail.com>2022-02-08 22:16:20 +0200
commiteb2617ac12b2432e8d8d22c7cae64b887d1c70e5 (patch)
tree61cac9885254a70b31b3ae8051a8f231f3e76536 /m4p
parent6436c86e0c53d9fbd83d883f76cbd8a267b6428e (diff)
m4p: Avoid spamming use of closed network connection
Diffstat (limited to 'm4p')
-rw-r--r--m4p/client.go9
-rw-r--r--m4p/discover.go5
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
}