aboutsummaryrefslogtreecommitdiffstats
path: root/emulator/opengl/shared/OpenglOsUtils/osThreadUnix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'emulator/opengl/shared/OpenglOsUtils/osThreadUnix.cpp')
-rw-r--r--emulator/opengl/shared/OpenglOsUtils/osThreadUnix.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/emulator/opengl/shared/OpenglOsUtils/osThreadUnix.cpp b/emulator/opengl/shared/OpenglOsUtils/osThreadUnix.cpp
index d8879eb..ef2bebc 100644
--- a/emulator/opengl/shared/OpenglOsUtils/osThreadUnix.cpp
+++ b/emulator/opengl/shared/OpenglOsUtils/osThreadUnix.cpp
@@ -15,6 +15,10 @@
*/
#include "osThread.h"
+#include "emugl/common/thread_store.h"
+
+#include <stdint.h>
+
namespace osUtils {
Thread::Thread() :
@@ -55,9 +59,8 @@ Thread::wait(int *exitStatus)
return false;
}
- long long int ret=(long long int)retval;
if (exitStatus) {
- *exitStatus = (int)ret;
+ *exitStatus = (int)(uintptr_t)retval;
}
return true;
}
@@ -87,7 +90,8 @@ Thread::thread_main(void *p_arg)
self->m_exitStatus = ret;
pthread_mutex_unlock(&self->m_lock);
- return (void*)ret;
+ ::emugl::ThreadStore::OnThreadExit();
+ return (void*)(uintptr_t)ret;
}
} // of namespace osUtils