X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fadapter%2FUSBCECAdapterCommunication.cpp;h=80670e42f5c981f01bb2b1aff2c2d6c0fec345f6;hb=9ceaabcd6eabe161b36056153c5513ab95be29a8;hp=1b768539faeb21cd02d8c598ed2c7384f872e09a;hpb=8355489019511d3ba83ef708a0f1ab0f53f649f7;p=deb_libcec.git diff --git a/src/lib/adapter/USBCECAdapterCommunication.cpp b/src/lib/adapter/USBCECAdapterCommunication.cpp index 1b76853..80670e4 100644 --- a/src/lib/adapter/USBCECAdapterCommunication.cpp +++ b/src/lib/adapter/USBCECAdapterCommunication.cpp @@ -201,6 +201,7 @@ void *CUSBCECAdapterCommunication::Process(void) m_messageProcessor->CreateThread(); cec_command command; + command.Clear(); bool bCommandReceived(false); while (!IsStopped()) { @@ -390,6 +391,7 @@ bool CUSBCECAdapterCommunication::ParseMessage(const CCECAdapterMessage &msg) if (msg.IsEmpty()) return bEom; + CLockObject adapterLock(m_mutex); switch(msg.Message()) { case MSGCODE_FRAME_START: @@ -662,7 +664,7 @@ void CUSBCECAdapterCommunication::AddData(uint8_t *data, size_t iLen) m_bGotStart = false; m_bNextIsEscaped = false; m_bHasData = true; - m_rcvCondition.Signal(); + m_rcvCondition.Broadcast(); } else if (m_bNextIsEscaped) {