aboutsummaryrefslogtreecommitdiffstats
path: root/emulator/opengl/shared/emugl/common/thread.h
diff options
context:
space:
mode:
Diffstat (limited to 'emulator/opengl/shared/emugl/common/thread.h')
-rw-r--r--emulator/opengl/shared/emugl/common/thread.h102
1 files changed, 0 insertions, 102 deletions
diff --git a/emulator/opengl/shared/emugl/common/thread.h b/emulator/opengl/shared/emugl/common/thread.h
deleted file mode 100644
index d0f7d20..0000000
--- a/emulator/opengl/shared/emugl/common/thread.h
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright (C) 2014 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.
-
-#ifndef EMUGL_COMMON_THREAD_H
-#define EMUGL_COMMON_THREAD_H
-
-#ifdef _WIN32
-#include <windows.h>
-#else
-#include <pthread.h>
-#endif
-
-#include <stdint.h>
-
-namespace emugl {
-
-// Wrapper class for platform-specific threads.
-// To create your own thread, define a sub-class of emugl::Thread
-// and override its main() method.
-//
-// For example:
-//
-// class MyThread : public emugl::Thread {
-// public:
-// MyThread() : Thread() {}
-//
-// virtual intptr_t main() {
-// ... main thread loop implementation
-// return 0;
-// }
-// };
-//
-// ...
-//
-// // Create new instance, but does not start it.
-// MyThread* thread = new MyThread();
-//
-// // Start the thread.
-// thread->start();
-//
-// // Wait for thread completion, and gets result into |exitStatus|.
-// int exitStatus;
-// thread->wait(&exitStatus);
-//
-class Thread {
-public:
- // Public constructor.
- Thread();
-
- // Virtual destructor.
- virtual ~Thread();
-
- // Override this method in your own thread sub-classes. This will
- // be called when start() is invoked on the Thread instance.
- virtual intptr_t main() = 0;
-
- // Start a thread instance. Return true on success, false otherwise
- // (e.g. if the thread was already started or terminated).
- bool start();
-
- // Wait for thread termination and retrieve exist status into
- // |*exitStatus|. Return true on success, false otherwise.
- // NOTE: |exitStatus| can be NULL.
- bool wait(intptr_t *exitStatus);
-
- // Check whether a thread has terminated. On success, return true
- // and sets |*exitStatus|. On failure, return false.
- // NOTE: |exitStatus| can be NULL.
- bool tryWait(intptr_t *exitStatus);
-
-private:
-#ifdef _WIN32
- static DWORD WINAPI thread_main(void* arg);
-
- HANDLE mThread;
- DWORD mThreadId;
- CRITICAL_SECTION mLock;
-#else // !WIN32
- static void* thread_main(void* arg);
-
- pthread_t mThread;
- pthread_mutex_t mLock;
-#endif
- intptr_t mExitStatus;
- bool mIsRunning;
-};
-
-} // namespace emugl
-
-#endif // EMUGL_COMMON_THREAD_H
-