repositories
/
deb_libcec.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
cccd272
)
cec: added a timeout to StopThread()
author
Lars Op den Kamp
<lars@opdenkamp.eu>
Sun, 26 Feb 2012 22:17:21 +0000
(23:17 +0100)
committer
Lars Op den Kamp
<lars@opdenkamp.eu>
Sun, 26 Feb 2012 22:17:21 +0000
(23:17 +0100)
src/lib/platform/threads/threads.h
patch
|
blob
|
blame
|
history
diff --git
a/src/lib/platform/threads/threads.h
b/src/lib/platform/threads/threads.h
index 0efebdc2c0b47e14df475846e4f65ff92aa15dd1..c730da8256743c8132f7ef69279a365aa892854d 100644
(file)
--- a/
src/lib/platform/threads/threads.h
+++ b/
src/lib/platform/threads/threads.h
@@
-103,7
+103,11
@@
namespace PLATFORM
return bReturn;
}
return bReturn;
}
- virtual bool StopThread(bool bWaitForExit = true)
+ /*!
+ * @brief Stop the thread
+ * @param iWaitMs negative = don't wait, 0 = infinite, or the amount of ms to wait
+ */
+ virtual bool StopThread(int iWaitMs = 5000)
{
bool bReturn(true);
bool bRunning(false);
{
bool bReturn(true);
bool bRunning(false);
@@
-113,12
+117,17
@@
namespace PLATFORM
m_bStop = true;
}
m_bStop = true;
}
- if (bRunning &&
bWaitForExit
)
+ if (bRunning &&
iWaitMs >= 0
)
{
{
- void *retVal = NULL;
- bReturn = ThreadsWait(m_thread, &retVal);
+ CLockObject lock(m_threadMutex);
+ bReturn = m_threadCondition.Wait(m_threadMutex, m_bStopped, iWaitMs);
+ }
+ else
+ {
+ bReturn = true;
}
}
- return true;
+
+ return bReturn;
}
virtual bool Sleep(uint32_t iTimeout)
}
virtual bool Sleep(uint32_t iTimeout)