[host] fix hang on capture error

This commit is contained in:
Geoffrey McRae 2018-10-19 21:16:08 +11:00
parent 31a25c94c6
commit 9f67f42f94
2 changed files with 5 additions and 1 deletions

View file

@ -105,6 +105,7 @@ bool Service::Initialize(ICapture * captureDevice)
m_haveFrame = false; m_haveFrame = false;
m_initialized = true; m_initialized = true;
m_running = true;
return true; return true;
} }
@ -138,6 +139,8 @@ bool Service::InitPointers()
void Service::DeInitialize() void Service::DeInitialize()
{ {
m_running = false;
WaitForSingleObject(m_cursorThread, INFINITE); WaitForSingleObject(m_cursorThread, INFINITE);
CloseHandle(m_cursorThread); CloseHandle(m_cursorThread);
CloseHandle(m_cursorEvent); CloseHandle(m_cursorEvent);
@ -335,7 +338,7 @@ bool Service::Process()
DWORD Service::CursorThread() DWORD Service::CursorThread()
{ {
while(m_capture) while(m_running)
{ {
if (WaitForSingleObject(m_cursorEvent, 1000) != WAIT_OBJECT_0) if (WaitForSingleObject(m_cursorEvent, 1000) != WAIT_OBJECT_0)
continue; continue;

View file

@ -53,6 +53,7 @@ private:
~Service(); ~Service();
bool m_initialized; bool m_initialized;
bool m_running;
DWORD m_consoleSessionID; DWORD m_consoleSessionID;
uint8_t * m_memory; uint8_t * m_memory;
IVSHMEM * m_ivshmem; IVSHMEM * m_ivshmem;