diff options
Diffstat (limited to 'src/threadengines/threadengine_pthread.cpp')
-rw-r--r-- | src/threadengines/threadengine_pthread.cpp | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/src/threadengines/threadengine_pthread.cpp b/src/threadengines/threadengine_pthread.cpp index 36ba3ab42..7900e66bc 100644 --- a/src/threadengines/threadengine_pthread.cpp +++ b/src/threadengines/threadengine_pthread.cpp @@ -39,15 +39,8 @@ static void* entry_point(void* parameter) void ThreadEngine::Start(Thread* thread) { - ThreadData* data = new ThreadData; - thread->state = data; - - if (pthread_create(&data->pthread_id, NULL, entry_point, thread) != 0) - { - thread->state = NULL; - delete data; + if (pthread_create(&thread->state.pthread_id, NULL, entry_point, thread) != 0) throw CoreException("Unable to create new thread: " + std::string(strerror(errno))); - } } void ThreadData::FreeThread(Thread* thread) |