From dec5008369027a437860f28ca1a0b04504b4d879 Mon Sep 17 00:00:00 2001 From: greatroar <@> Date: Sat, 28 Nov 2020 13:52:47 +0100 Subject: [PATCH] Warn when unlock fails instead of returning an error Only one caller was checking the error. --- cmd/restic/cmd_cat.go | 7 +------ cmd/restic/lock.go | 11 +++++------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/cmd/restic/cmd_cat.go b/cmd/restic/cmd_cat.go index 85fc7942d..a9ee82d8c 100644 --- a/cmd/restic/cmd_cat.go +++ b/cmd/restic/cmd_cat.go @@ -48,12 +48,7 @@ func runCat(gopts GlobalOptions, args []string) error { return err } - defer func() { - err := unlockRepo(lock) - if err != nil { - Warnf("unlock repo failed: %v", err) - } - }() + defer unlockRepo(lock) } tpe := args[0] diff --git a/cmd/restic/lock.go b/cmd/restic/lock.go index b0df2b685..822059943 100644 --- a/cmd/restic/lock.go +++ b/cmd/restic/lock.go @@ -85,9 +85,9 @@ func refreshLocks(wg *sync.WaitGroup, done <-chan struct{}) { } } -func unlockRepo(lock *restic.Lock) error { +func unlockRepo(lock *restic.Lock) { if lock == nil { - return nil + return } globalLocks.Lock() @@ -99,18 +99,17 @@ func unlockRepo(lock *restic.Lock) error { debug.Log("unlocking repository with lock %v", lock) if err := lock.Unlock(); err != nil { debug.Log("error while unlocking: %v", err) - return err + Warnf("error while unlocking: %v", err) + return } // remove the lock from the list of locks globalLocks.locks = append(globalLocks.locks[:i], globalLocks.locks[i+1:]...) - return nil + return } } debug.Log("unable to find lock %v in the global list of locks, ignoring", lock) - - return nil } func unlockAll() error {