diff --git a/storm/thread/linux/S_Thread.cpp b/storm/thread/linux/S_Thread.cpp index 9253fb2..f4943f3 100644 --- a/storm/thread/linux/S_Thread.cpp +++ b/storm/thread/linux/S_Thread.cpp @@ -3,4 +3,24 @@ void* S_Thread::s_SLaunchThread(void* threadParam) { // TODO + + auto params = static_cast(threadParam); + + // TODO + + params->threadProc(params->threadParam); + + // TODO + + if (params->syncObject) { + pthread_mutex_lock(¶ms->syncObject->m_mutex); + params->syncObject->m_value1 = 1; + pthread_mutex_unlock(¶ms->syncObject->m_mutex); + + pthread_cond_signal(¶ms->syncObject->m_cond); + } + + SMemFree(threadParam); + + return nullptr; }