Added thread queue.

This commit is contained in:
Branimir Karadžić
2017-11-04 15:17:00 -07:00
parent 894bac2011
commit 8026262b84
2 changed files with 22 additions and 6 deletions

View File

@@ -150,7 +150,7 @@ namespace bx
# error "Not implemented!"
#endif // BX_PLATFORM_
m_sem.wait();
m_queue.pop();
if (NULL != _name)
{
@@ -243,6 +243,16 @@ namespace bx
#endif // BX_PLATFORM_
}
void Thread::push(void* _ptr)
{
m_queue.push(_ptr);
}
void* Thread::pop()
{
return m_queue.pop();
}
int32_t Thread::entry()
{
#if BX_PLATFORM_WINDOWS
@@ -250,8 +260,8 @@ namespace bx
ti->m_threadId = ::GetCurrentThreadId();
#endif // BX_PLATFORM_WINDOWS
m_sem.post();
return m_fn(m_userData);
m_queue.push(NULL);
return m_fn(this, m_userData);
}
struct TlsDataInternal