CCECProcessor::~CCECProcessor(void)
{
m_bStarted = false;
- StopThread(false);
-
- if (m_busScan)
- {
- m_busScan->StopThread();
- delete m_busScan;
- }
-
m_startCondition.Broadcast();
StopThread();
m_controller->CheckKeypressTimeout();
}
+ if (m_busScan)
+ {
+ m_busScan->StopThread();
+ delete m_busScan;
+ m_busScan = NULL;
+ }
+
if (m_communication)
m_communication->Close();
CCECBusDevice *m_busDevices[16];
CMutex m_transmitMutex;
- uint64_t m_iLastTransmission;
private:
void ScanCECBus(void);
uint8_t m_iLineTimeout;
uint8_t m_iStandardLineTimeout;
uint8_t m_iRetryLineTimeout;
+ uint64_t m_iLastTransmission;
};
class CCECBusScan : public CThread
{
public:
CCECBusScan(CCECProcessor *processor) { m_processor = processor; }
- virtual ~CCECBusScan(void) {}
+ virtual ~CCECBusScan(void) { StopThread(true); }
virtual void *Process(void);
private: