commit 31c1067a548039e7d95f131b3972ecfe1f57f835
parent 0e2f31f4e3ef498f7c454c5bc057335e6e61396d
Author: tobi <31960611+tsmethurst@users.noreply.github.com>
Date: Tue, 19 Apr 2022 16:31:37 +0200
[chore] Tidy up federating db locks a tiny bit (#472)
Diffstat:
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git 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