From 31c1067a548039e7d95f131b3972ecfe1f57f835 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Tue, 19 Apr 2022 16:31:37 +0200 Subject: [PATCH] [chore] Tidy up federating db locks a tiny bit (#472) --- internal/federation/federatingdb/lock.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/internal/federation/federatingdb/lock.go b/internal/federation/federatingdb/lock.go index 22f2bb77a..4609cd99e 100644 --- a/internal/federation/federatingdb/lock.go +++ b/internal/federation/federatingdb/lock.go @@ -52,6 +52,7 @@ func (f *federatingDB) Lock(c context.Context, id *url.URL) error { // Acquire map lock f.mutex.Lock() + defer f.mutex.Unlock() // Get mutex, or create new mu, ok := f.locks[idStr] @@ -63,8 +64,7 @@ func (f *federatingDB) Lock(c context.Context, id *url.URL) error { f.locks[idStr] = mu } - // Unlock map, acquire mutex lock - f.mutex.Unlock() + // Lock the mutex mu.Lock() return nil } @@ -81,13 +81,13 @@ func (f *federatingDB) Unlock(c context.Context, id *url.URL) error { } idStr := id.String() - // Check map for mutex + // Acquire map lock f.mutex.Lock() - mu, ok := f.locks[idStr] - f.mutex.Unlock() + defer f.mutex.Unlock() + mu, ok := f.locks[idStr] if !ok { - return errors.New("missing an id in unlock") + return errors.New("Unlock: missing an id in unlock") } // Unlock the mutex