From e8012158ea5ec6d18b084db576590af10631e6e0 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Mon, 9 Jan 2023 17:38:41 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E8=87=AA=E5=8A=A8=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E7=B4=A2=E5=BC=95=20https://github.?= =?UTF-8?q?com/siyuan-note/siyuan/issues/7016?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/transaction.go | 2 ++ kernel/treenode/blocktree.go | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/kernel/model/transaction.go b/kernel/model/transaction.go index aad8d7b51..60866ef1c 100644 --- a/kernel/model/transaction.go +++ b/kernel/model/transaction.go @@ -1231,6 +1231,8 @@ func AutoFixIndex() { var autoFixLock = sync.Mutex{} func autoFixIndex() { + defer logging.Recover() + if util.IsMutexLocked(&autoFixLock) || isFullReindexing { return } diff --git a/kernel/treenode/blocktree.go b/kernel/treenode/blocktree.go index cbf59c79f..f40064ae8 100644 --- a/kernel/treenode/blocktree.go +++ b/kernel/treenode/blocktree.go @@ -117,15 +117,14 @@ func CeilBlockCount(count int) int { } func GetNotExistPaths(boxID string, paths []string) (ret []string) { - blockTreesLock.Lock() - defer blockTreesLock.Unlock() + tmp := blockTrees pathsMap := map[string]bool{} for _, path := range paths { pathsMap[path] = true } - for _, blockTree := range blockTrees { + for _, blockTree := range tmp { if blockTree.BoxID != boxID { continue }