From 47e3147d0b7137e54bacf468f506c22399e35c9c Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Wed, 30 Apr 2025 14:28:05 -0500 Subject: [PATCH] fix: don't hold main database update lock when tidying folder databases --- internal/db/sqlite/db_service.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/internal/db/sqlite/db_service.go b/internal/db/sqlite/db_service.go index c28a6586c..635542ad5 100644 --- a/internal/db/sqlite/db_service.go +++ b/internal/db/sqlite/db_service.go @@ -80,13 +80,12 @@ func (s *Service) periodic(ctx context.Context) error { t0 := time.Now() l.Debugln("Periodic start") - s.sdb.updateLock.Lock() - defer s.sdb.updateLock.Unlock() - t1 := time.Now() defer func() { l.Debugln("Periodic done in", time.Since(t1), "+", t1.Sub(t0)) }() + s.sdb.updateLock.Lock() tidy(ctx, s.sdb.sql) + s.sdb.updateLock.Unlock() return wrap(s.sdb.forEachFolder(func(fdb *folderDB) error { fdb.updateLock.Lock()