From 8343e713fe29f2bbbb17ef9aedf2a506576b04a7 Mon Sep 17 00:00:00 2001 From: Harvey Tindall Date: Sun, 6 Sep 2020 13:13:36 +0100 Subject: remove socket on exit; fix --position crash --- main.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index dd196b2..a4cb153 100644 --- a/main.go +++ b/main.go @@ -8,6 +8,7 @@ import ( "log" "net" "os" + "os/signal" "sort" "strconv" "strings" @@ -428,6 +429,14 @@ func main() { } go func() { listener, err := net.Listen("unix", SOCK) + c := make(chan os.Signal, 1) + signal.Notify(c, os.Interrupt) + go func() { + <-c + os.Remove(SOCK) + os.Exit(1) + }() + defer os.Remove(SOCK) if err != nil { log.Fatalln("Couldn't establish socket connection at", SOCK) } @@ -504,8 +513,10 @@ func main() { go func() { for { time.Sleep(1000 * time.Millisecond) - if players.list[players.current].playing { - go fmt.Println(players.JSON()) + if len(players.list) != 0 { + if players.list[players.current].playing { + go fmt.Println(players.JSON()) + } } } }() -- cgit v1.2.3