diff options
Diffstat (limited to 'internal/federation/federatingdb/lock.go')
-rw-r--r-- | internal/federation/federatingdb/lock.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/internal/federation/federatingdb/lock.go b/internal/federation/federatingdb/lock.go index 0d35f337f..22be6c793 100644 --- a/internal/federation/federatingdb/lock.go +++ b/internal/federation/federatingdb/lock.go @@ -24,6 +24,8 @@ import ( "net/url" "sync" "sync/atomic" + + "github.com/sirupsen/logrus" ) // Lock takes a lock for the object at the specified id. If an error @@ -54,7 +56,10 @@ func (f *federatingDB) Lock(c context.Context, id *url.URL) error { // Get mutex, or create new mu, ok := f.locks[idStr] if !ok { - mu = f.pool.Get().(*mutex) + mu, ok = f.pool.Get().(*mutex) + if !ok { + logrus.Panic("Lock: pool entry was not a *mutex") + } f.locks[idStr] = mu } |