Skip to content

Commit fdc1d8f

Browse files
committed
fix bug
1 parent 08f9747 commit fdc1d8f

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

sync.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ func (m *mointor) wait() int32 {
7171

7272
func (m *mointor) verify(holder int32, holderLink []int32) {
7373
if m.holder != 0 {
74+
// deadlock detected
7475
if m.holder == holder {
7576
// dump stack
7677
stackBuf := new(bytes.Buffer)
@@ -89,8 +90,9 @@ func (m *mointor) verify(holder int32, holderLink []int32) {
8990
}
9091
panic(buf.String())
9192
}
93+
// the lock holder is waiting for another lock
9294
if waitTarget, exists := waitTargets[m.holder]; exists {
93-
waitTarget.verify(holder, append(holderLink, waitTarget.holder))
95+
waitTarget.verify(holder, append(holderLink, m.holder))
9496
}
9597
}
9698
}

0 commit comments

Comments
 (0)