fix: don't hold main database update lock when tidying folder databases
This commit is contained in:
@@ -80,13 +80,12 @@ func (s *Service) periodic(ctx context.Context) error {
|
|||||||
t0 := time.Now()
|
t0 := time.Now()
|
||||||
l.Debugln("Periodic start")
|
l.Debugln("Periodic start")
|
||||||
|
|
||||||
s.sdb.updateLock.Lock()
|
|
||||||
defer s.sdb.updateLock.Unlock()
|
|
||||||
|
|
||||||
t1 := time.Now()
|
t1 := time.Now()
|
||||||
defer func() { l.Debugln("Periodic done in", time.Since(t1), "+", t1.Sub(t0)) }()
|
defer func() { l.Debugln("Periodic done in", time.Since(t1), "+", t1.Sub(t0)) }()
|
||||||
|
|
||||||
|
s.sdb.updateLock.Lock()
|
||||||
tidy(ctx, s.sdb.sql)
|
tidy(ctx, s.sdb.sql)
|
||||||
|
s.sdb.updateLock.Unlock()
|
||||||
|
|
||||||
return wrap(s.sdb.forEachFolder(func(fdb *folderDB) error {
|
return wrap(s.sdb.forEachFolder(func(fdb *folderDB) error {
|
||||||
fdb.updateLock.Lock()
|
fdb.updateLock.Lock()
|
||||||
|
|||||||
Reference in New Issue
Block a user