Skip to content

Commit 96bead8

Browse files
fi deadlock on divide
1 parent a1f55ec commit 96bead8

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

world/tree.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,6 @@ func (node *TreeNode) Delete(id string) {
121121

122122
func (node *TreeNode) divide() {
123123
defer treeDivision.Inc()
124-
node.mu.Lock()
125-
defer node.mu.Unlock()
126-
127124
if node.IsDivided {
128125
return
129126
}
@@ -207,9 +204,12 @@ func (node *TreeNode) ForceDivide(level int) {
207204
if level == 0 {
208205
return
209206
}
207+
node.mu.Lock()
208+
210209
if !node.IsDivided {
211210
node.divide()
212211
}
212+
node.mu.Unlock()
213213

214214
level--
215215

0 commit comments

Comments
 (0)