aboutsummaryrefslogtreecommitdiffstats
path: root/emulator/opengl/shared/OpenglOsUtils/osThreadUnix.cpp
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@google.com>2015-03-20 22:16:47 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-03-20 22:16:47 +0000
commit654f070478a652eebbf6560f593e8e7c97388e80 (patch)
tree842029b9ec6fc084ddf70997e603a7bd8e530a8c /emulator/opengl/shared/OpenglOsUtils/osThreadUnix.cpp
parent5b69bb42bbdd028daae30d1b1258914f9cb9fa59 (diff)
parenta268ba5f6bbbc67904124f7368f617dbb3fae6ef (diff)
downloadsdk-654f070478a652eebbf6560f593e8e7c97388e80.zip
sdk-654f070478a652eebbf6560f593e8e7c97388e80.tar.gz
sdk-654f070478a652eebbf6560f593e8e7c97388e80.tar.bz2
am a268ba5f: am c245592b: Merge changes I551e0f3d,I26d84cf5,I27c993d1 into idea133 automerge: 4e42336
* commit 'a268ba5f6bbbc67904124f7368f617dbb3fae6ef': emulator/opengl: Remove out-of-process handling code. emulator/opengl: refactor Thread class. emulator/opengl: refactor shared library handling.
Diffstat (limited to 'emulator/opengl/shared/OpenglOsUtils/osThreadUnix.cpp')
-rw-r--r--emulator/opengl/shared/OpenglOsUtils/osThreadUnix.cpp98
1 files changed, 0 insertions, 98 deletions
diff --git a/emulator/opengl/shared/OpenglOsUtils/osThreadUnix.cpp b/emulator/opengl/shared/OpenglOsUtils/osThreadUnix.cpp
deleted file mode 100644
index ef2bebc..0000000
--- a/emulator/opengl/shared/OpenglOsUtils/osThreadUnix.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-* Copyright (C) 2011 The Android Open Source Project
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-#include "osThread.h"
-
-#include "emugl/common/thread_store.h"
-
-#include <stdint.h>
-
-namespace osUtils {
-
-Thread::Thread() :
- m_thread((pthread_t)NULL),
- m_exitStatus(0),
- m_isRunning(false)
-{
- pthread_mutex_init(&m_lock, NULL);
-}
-
-Thread::~Thread()
-{
- pthread_mutex_destroy(&m_lock);
-}
-
-bool
-Thread::start()
-{
- pthread_mutex_lock(&m_lock);
- m_isRunning = true;
- int ret = pthread_create(&m_thread, NULL, Thread::thread_main, this);
- if(ret) {
- m_isRunning = false;
- }
- pthread_mutex_unlock(&m_lock);
- return m_isRunning;
-}
-
-bool
-Thread::wait(int *exitStatus)
-{
- if (!m_isRunning) {
- return false;
- }
-
- void *retval;
- if (pthread_join(m_thread,&retval)) {
- return false;
- }
-
- if (exitStatus) {
- *exitStatus = (int)(uintptr_t)retval;
- }
- return true;
-}
-
-bool
-Thread::trywait(int *exitStatus)
-{
- bool ret = false;
-
- pthread_mutex_lock(&m_lock);
- if (!m_isRunning) {
- *exitStatus = m_exitStatus;
- ret = true;
- }
- pthread_mutex_unlock(&m_lock);
- return ret;
-}
-
-void *
-Thread::thread_main(void *p_arg)
-{
- Thread *self = (Thread *)p_arg;
- int ret = self->Main();
-
- pthread_mutex_lock(&self->m_lock);
- self->m_isRunning = false;
- self->m_exitStatus = ret;
- pthread_mutex_unlock(&self->m_lock);
-
- ::emugl::ThreadStore::OnThreadExit();
- return (void*)(uintptr_t)ret;
-}
-
-} // of namespace osUtils
-