Run cleanup handlers in main function

This commit is contained in:
Alexander Neumann 2015-07-19 17:57:18 +02:00
parent dac89bf544
commit 76817da922
2 changed files with 8 additions and 0 deletions

View File

@ -13,6 +13,7 @@ import (
var cleanupHandlers struct {
sync.Mutex
list []func() error
done bool
}
var stderr = os.Stderr
@ -39,6 +40,11 @@ func RunCleanupHandlers() {
cleanupHandlers.Lock()
defer cleanupHandlers.Unlock()
if cleanupHandlers.done {
return
}
cleanupHandlers.done = true
for _, f := range cleanupHandlers.list {
err := f()
if err != nil {

View File

@ -32,6 +32,8 @@ func main() {
fmt.Fprintf(os.Stderr, "\nthe `unlock` command can be used to remove stale locks\n")
}
RunCleanupHandlers()
if err != nil {
os.Exit(1)
}