diff --git a/server.go b/server.go index 11bd2ff..fc6711d 100644 --- a/server.go +++ b/server.go @@ -7,6 +7,7 @@ import ( "regexp" "strings" "sync" + "syscall" "time" "golang.org/x/crypto/ssh" @@ -226,9 +227,11 @@ func (s *Server) Start(laddr string) error { conn, err := socket.Accept() if err != nil { - // TODO: Handle shutdown more gracefully? - logger.Errorf("Failed to accept connection, aborting loop: %v", err) - return + logger.Errorf("Failed to accept connection: %v", err) + if err == syscall.EINVAL { + // TODO: Handle shutdown more gracefully? + return + } } // Goroutineify to resume accepting sockets early.