소스 검색

增加 锁

lijian 4 주 전
부모
커밋
1da52de8a1
1개의 변경된 파일4개의 추가작업 그리고 2개의 파일을 삭제
  1. 4 2
      pkg/ruleEngine/mailbox.go

+ 4 - 2
pkg/ruleEngine/mailbox.go

@@ -169,6 +169,8 @@ func (m *MailBox) Tell(msg protocol.ActorMsg) {
 
 // push a message to queue
 func (m *MailBox) enqueue(msg protocol.ActorMsg, isHighPriority bool) {
+	m.mu.Lock()
+	defer m.mu.Unlock()
 	if isHighPriority {
 		m.highPriorityMessages.Push(msg)
 	} else {
@@ -215,8 +217,8 @@ func (m *MailBox) destroy() error {
 	if m.closed {
 		return nil
 	}
-	//m.highPriorityMessages.Close()
-	//ßm.normalPriorityMessages.Close()
+	m.highPriorityMessages.Close()
+	m.normalPriorityMessages.Close()
 	m.setReadyStat(NOTREADY)
 	if err := m.actor.Destroy(); err != nil {
 		server.Log.Warnf("Failed to destroy actor :%s, err :%s", m.id, err.Error())