m_lastPollDestination = msg.Destination();
if (msg.Destination() < CECDEVICE_BROADCAST)
{
+ CLockObject waitingLock(m_waitingMutex);
if (!m_bWaitingForAck[msg.Destination()] && !msg.IsEOM())
{
if (m_callback)
/* mark as waiting for an ack from the destination */
if (dest < CECDEVICE_BROADCAST)
{
- CLockObject lock(m_mutex);
+ CLockObject waitingLock(m_waitingMutex);
m_bWaitingForAck[dest] = true;
}
}
CUSBCECAdapterCommands * m_commands; /**< commands that can be sent to the adapter */
CCECAdapterMessageQueue * m_adapterMessageQueue; /**< the incoming and outgoing message queue */
cec_logical_addresses m_logicalAddresses; /**< the logical address list that this instance is using */
+ PLATFORM::CMutex m_waitingMutex;
};
class CAdapterEepromWriteThread : public PLATFORM::CThread