From c46ab056f5f991992e14d31a9c97ba3e1622fc9a Mon Sep 17 00:00:00 2001 From: andrzej Date: Mon, 4 Nov 2024 16:46:56 +0100 Subject: [PATCH] clean-up sockfile on exit --- main.go | 12 ++++++++++++ server.go | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 22ae7f6..272bd43 100644 --- a/main.go +++ b/main.go @@ -8,7 +8,13 @@ import ( var config Config +const sockfile = "/tmp/gopaper.sock" + func main() { + //TODO:kill existing processes + + log.SetFlags(log.LstdFlags | log.Lshortfile) + err := config.load() if err != nil { log.Println("failed to load config", err) @@ -20,6 +26,7 @@ func main() { var waitGroup sync.WaitGroup waitGroup.Add(1) slideshowDir := make(chan string) + go server(slideshowDir) go slideshow(slideshowDir) @@ -34,3 +41,8 @@ func main() { waitGroup.Wait() } + +func cleanExit(code int) { + os.Remove(sockfile) + os.Exit(code) +} diff --git a/server.go b/server.go index 4f9941b..e5247db 100644 --- a/server.go +++ b/server.go @@ -11,7 +11,8 @@ import ( func server(slideshowDir chan string) { - sockfile := "/tmp/bg-go.sock" + defer os.Remove(sockfile) + //Create a Unix domain socket and listen for incoming connections. socket, err := net.Listen("unix", sockfile) if err != nil { @@ -27,7 +28,6 @@ func server(slideshowDir chan string) { os.Remove(sockfile) os.Exit(1) }() - defer os.Remove(sockfile) for { //Accept incoming