diff --git a/src/communicate/tcp/message_event.cpp b/src/communicate/tcp/message_event.cpp index f809e93cb..b87dc9bec 100644 --- a/src/communicate/tcp/message_event.cpp +++ b/src/communicate/tcp/message_event.cpp @@ -94,7 +94,7 @@ const bool MessageEvent :: IsActive() int MessageEvent :: AddMessage(const std::string & sMessage) { m_llLastActiveTime = Time::GetSteadyClockMS(); - std::lock_guard oLockGuard(m_oMutex); + std::unique_lock oLock(m_oMutex); if ((int)m_oInQueue.size() > TCP_QUEUE_MAXLEN) { @@ -116,7 +116,7 @@ int MessageEvent :: AddMessage(const std::string & sMessage) m_iQueueMemSize += sMessage.size(); - m_oMutex.unlock(); + oLock.unlock(); JumpoutEpollWait();