X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fadapter%2FUSBCECAdapterCommunication.cpp;h=7037c78eff960357f2842e3f8cd5a154dfcb61cb;hb=cba904a6dc0be488b9e761861f752653ec5e6801;hp=8e0b44e58b57e72fbf440d123f1da58b1094fcb9;hpb=960f33c651b2dd1e6331dafe5b21705c11cee1a2;p=deb_libcec.git diff --git a/src/lib/adapter/USBCECAdapterCommunication.cpp b/src/lib/adapter/USBCECAdapterCommunication.cpp index 8e0b44e..7037c78 100644 --- a/src/lib/adapter/USBCECAdapterCommunication.cpp +++ b/src/lib/adapter/USBCECAdapterCommunication.cpp @@ -174,9 +174,11 @@ bool CUSBCECAdapterCommunication::Open(IAdapterCommunicationCallback *cb, uint32 void CUSBCECAdapterCommunication::Close(void) { SetAckMask(0); - CLockObject lock(m_mutex); - m_bHasData = true; - m_rcvCondition.Broadcast(); + { + CLockObject lock(m_mutex); + m_bHasData = true; + m_rcvCondition.Broadcast(); + } StopThread(); } @@ -661,6 +663,7 @@ bool CUSBCECAdapterCommunication::ReadFromDevice(uint32_t iTimeout, size_t iSize if (iBytesRead < 0 || iBytesRead > 256) { CLibCEC::AddLog(CEC_LOG_ERROR, "error reading from serial port: %s", m_port->GetError().c_str()); + StopThread(false); return false; } else if (iBytesRead > 0) @@ -704,3 +707,10 @@ void CUSBCECAdapterCommunication::WriteNextCommand(void) if (m_outBuffer.Pop(msg)) SendMessageToAdapter(msg); } + +CStdString CUSBCECAdapterCommunication::GetPortName(void) +{ + CStdString strName; + strName = m_port->GetName(); + return strName; +}