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);
}
}
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 */);
}
return true;