From 0830c728fe3422e18c1db17f3419617972626e52 Mon Sep 17 00:00:00 2001 From: Matthew Holt Date: Sat, 9 Jan 2016 21:48:07 -0700 Subject: [PATCH] Remove pidfile when program exits (closes #495) --- caddy/sigtrap.go | 8 ++++++++ caddy/sigtrap_posix.go | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/caddy/sigtrap.go b/caddy/sigtrap.go index 39b7bd77d..6fd00cac5 100644 --- a/caddy/sigtrap.go +++ b/caddy/sigtrap.go @@ -32,10 +32,18 @@ func trapSignalsCrossPlatform() { if i > 0 { log.Println("[INFO] SIGINT: Force quit") + if PidFile != "" { + os.Remove(PidFile) + } os.Exit(1) } log.Println("[INFO] SIGINT: Shutting down") + + if PidFile != "" { + os.Remove(PidFile) + } + go os.Exit(executeShutdownCallbacks("SIGINT")) } }() diff --git a/caddy/sigtrap_posix.go b/caddy/sigtrap_posix.go index 2777ebc2e..ac3000d76 100644 --- a/caddy/sigtrap_posix.go +++ b/caddy/sigtrap_posix.go @@ -20,6 +20,9 @@ func trapSignalsPosix() { switch sig { case syscall.SIGTERM: log.Println("[INFO] SIGTERM: Terminating process") + if PidFile != "" { + os.Remove(PidFile) + } os.Exit(0) case syscall.SIGQUIT: @@ -30,6 +33,9 @@ func trapSignalsPosix() { log.Printf("[ERROR] SIGQUIT stop: %v", err) exitCode = 1 } + if PidFile != "" { + os.Remove(PidFile) + } os.Exit(exitCode) case syscall.SIGHUP: