X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FAdapterCommunication.cpp;h=aeecf3ad2c5b8674e46687d10630cf60e8cfe33c;hb=5d38b0b6b48d9c1603c690a140a1400184065c7c;hp=627ce27a476ecfab70cc2186aafc0a6be61533ec;hpb=13fd6a6619b36bef2df2a126455f83776cc991b4;p=deb_libcec.git diff --git a/src/lib/AdapterCommunication.cpp b/src/lib/AdapterCommunication.cpp index 627ce27..aeecf3a 100644 --- a/src/lib/AdapterCommunication.cpp +++ b/src/lib/AdapterCommunication.cpp @@ -128,16 +128,12 @@ void *CAdapterCommunication::Process(void) while (!IsStopped()) { - bool bSignal(false); { - CLockObject lock(&m_mutex, true); - if (lock.IsLocked()) - bSignal = ReadFromDevice(100); + CLockObject lock(&m_mutex); + if (ReadFromDevice(50)) + m_rcvCondition.Signal(); } - if (bSignal) - m_rcvCondition.Signal(); - if (!IsStopped()) Sleep(50); } @@ -193,7 +189,7 @@ bool CAdapterCommunication::Write(const cec_frame &data) m_controller->AddLog(CEC_LOG_DEBUG, "command sent"); - CCondition::Sleep((uint32_t) data.size * (uint32_t)24 /*data*/ + (uint32_t)5 /*start bit (4.5 ms)*/ + (uint32_t)50 /* to be on the safe side */); + CCondition::Sleep((uint32_t) data.size * (uint32_t)24 /*data*/ + (uint32_t)5 /*start bit (4.5 ms)*/); } return true;