summaryrefslogtreecommitdiffstats
path: root/emulator/opengl/shared/emugl/common/mutex.h
diff options
context:
space:
mode:
Diffstat (limited to 'emulator/opengl/shared/emugl/common/mutex.h')
-rw-r--r--emulator/opengl/shared/emugl/common/mutex.h92
1 files changed, 0 insertions, 92 deletions
diff --git a/emulator/opengl/shared/emugl/common/mutex.h b/emulator/opengl/shared/emugl/common/mutex.h
deleted file mode 100644
index c6cdcf2da..000000000
--- a/emulator/opengl/shared/emugl/common/mutex.h
+++ /dev/null
@@ -1,92 +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_MUTEX_H
-#define EMUGL_MUTEX_H
-
-#ifdef _WIN32
-# define WIN32_LEAN_AND_MEAN 1
-# include <windows.h>
-#else
-# include <pthread.h>
-#endif
-
-namespace emugl {
-
-// Simple wrapper class for mutexes.
-class Mutex {
-public:
- // Constructor.
- Mutex() {
-#ifdef _WIN32
- ::InitializeCriticalSection(&mLock);
-#else
- ::pthread_mutex_init(&mLock, NULL);
-#endif
- }
-
- // Destructor.
- ~Mutex() {
-#ifdef _WIN32
- ::DeleteCriticalSection(&mLock);
-#else
- ::pthread_mutex_destroy(&mLock);
-#endif
- }
-
- // Acquire the mutex.
- void lock() {
-#ifdef _WIN32
- ::EnterCriticalSection(&mLock);
-#else
- ::pthread_mutex_lock(&mLock);
-#endif
- }
-
- // Release the mutex.
- void unlock() {
-#ifdef _WIN32
- ::LeaveCriticalSection(&mLock);
-#else
- ::pthread_mutex_unlock(&mLock);
-#endif
- }
-
- // Helper class to lock / unlock a mutex automatically on scope
- // entry and exit.
- class AutoLock {
- public:
- AutoLock(Mutex& mutex) : mMutex(&mutex) {
- mMutex->lock();
- }
-
- ~AutoLock() {
- mMutex->unlock();
- }
- private:
- Mutex* mMutex;
- };
-
-private:
-#ifdef _WIN32
- CRITICAL_SECTION mLock;
-#else
- pthread_mutex_t mLock;
-#endif
-
-};
-
-} // namespace emugl
-
-#endif // EMUGL_MUTEX_H