Browse Source

:art: Improve kernel stability by eliminating some data races https://github.com/siyuan-note/siyuan/issues/9842

Daniel 1 year ago
parent
commit
150336dcf5
1 changed files with 4 additions and 4 deletions
  1. 4 4
      kernel/treenode/blocktree.go

+ 4 - 4
kernel/treenode/blocktree.go

@@ -238,8 +238,8 @@ func RemoveBlockTreesByRootID(rootID string) {
 		slice := val.(*btSlice)
 		slice.m.Lock()
 		delete(slice.data, id)
-		slice.m.Unlock()
 		slice.changed = time.Now()
+		slice.m.Unlock()
 	}
 }
 
@@ -296,8 +296,8 @@ func RemoveBlockTreesByPathPrefix(pathPrefix string) {
 		slice := val.(*btSlice)
 		slice.m.Lock()
 		delete(slice.data, id)
-		slice.m.Unlock()
 		slice.changed = time.Now()
+		slice.m.Unlock()
 	}
 }
 
@@ -338,8 +338,8 @@ func RemoveBlockTreesByBoxID(boxID string) (ids []string) {
 		slice := val.(*btSlice)
 		slice.m.Lock()
 		delete(slice.data, id)
-		slice.m.Unlock()
 		slice.changed = time.Now()
+		slice.m.Unlock()
 	}
 	return
 }
@@ -352,8 +352,8 @@ func RemoveBlockTree(id string) {
 	slice := val.(*btSlice)
 	slice.m.Lock()
 	delete(slice.data, id)
-	slice.m.Unlock()
 	slice.changed = time.Now()
+	slice.m.Unlock()
 }
 
 func IndexBlockTree(tree *parse.Tree) {