mirror of
https://github.com/restic/restic.git
synced 2024-12-23 00:07:25 +00:00
Merge pull request #237 from restic/refactor-cleanup-handlers
Allow more than one cleanup handler
This commit is contained in:
commit
c3fe396bdd
2 changed files with 8 additions and 0 deletions
|
@ -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 {
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue