diff --git a/lib/db/backend/backend.go b/lib/db/backend/backend.go index 4f6f28ba6..7ef26c1ad 100644 --- a/lib/db/backend/backend.go +++ b/lib/db/backend/backend.go @@ -154,25 +154,20 @@ func IsNotFound(err error) bool { // releaser manages counting on top of a waitgroup type releaser struct { wg *closeWaitGroup - once *sync.Once + once sync.Once } func newReleaser(wg *closeWaitGroup) (*releaser, error) { if err := wg.Add(1); err != nil { return nil, err } - return &releaser{ - wg: wg, - once: new(sync.Once), - }, nil + return &releaser{wg: wg}, nil } -func (r releaser) Release() { +func (r *releaser) Release() { // We use the Once because we may get called multiple times from // Commit() and deferred Release(). - r.once.Do(func() { - r.wg.Done() - }) + r.once.Do(r.wg.Done) } // closeWaitGroup behaves just like a sync.WaitGroup, but does not require