func unlockRepo(lock *restic.Lock) error { globalLocks.Lock() defer globalLocks.Unlock() debug.Log("unlocking repository") if err := lock.Unlock(); err != nil { debug.Log("error while unlocking: %v", err) return err } for i := 0; i < len(globalLocks.locks); i++ { if lock == globalLocks.locks[i] { globalLocks.locks = append(globalLocks.locks[:i], globalLocks.locks[i+1:]...) return nil } } return nil }