An experimental pub/sub client and server project.
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Better error handling for closed listener

+5 -4
+5 -4
server/server.go
··· 3 3 import ( 4 4 "context" 5 5 "encoding/json" 6 + "errors" 6 7 "fmt" 7 8 "log/slog" 8 9 "net" 9 - "strings" 10 10 "sync" 11 11 12 12 "github.com/willdot/messagebroker" ··· 56 56 for { 57 57 conn, err := s.lis.Accept() 58 58 if err != nil { 59 - slog.Error("listener failed to accept", "error", err) 60 - // TODO: see if there's a better way to check for this error 61 - if strings.Contains(err.Error(), "use of closed network connection") { 59 + if errors.Is(err, net.ErrClosed) { 60 + slog.Info("listener closed") 62 61 return 63 62 } 63 + slog.Error("listener failed to accept", "error", err) 64 + continue 64 65 } 65 66 66 67 go s.handleConn(conn)