From ff3aa6cbe1fcd5abd07d6d9637ece1f17cdd1d33 Mon Sep 17 00:00:00 2001 From: Andrey Kamaev Date: Fri, 17 Aug 2012 18:28:50 +0400 Subject: [PATCH] Fix Android build after commit:41b6d25 --- modules/core/src/system.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/core/src/system.cpp b/modules/core/src/system.cpp index e1d57ef8cb..253d840248 100644 --- a/modules/core/src/system.cpp +++ b/modules/core/src/system.cpp @@ -939,11 +939,11 @@ struct Mutex::Impl { Impl() { InitializeCriticalSection(&cs); refcount = 1; } ~Impl() { DeleteCriticalSection(&cs); } - + void lock() { EnterCriticalSection(&cs); } bool trylock() { return TryEnterCriticalSection(&cs) != 0; } void unlock() { LeaveCriticalSection(&cs); } - + CRITICAL_SECTION cs; int refcount; }; @@ -956,26 +956,26 @@ struct Mutex::Impl { Impl() { sl = OS_SPINLOCK_INIT; refcount = 1; } ~Impl() {} - + void lock() { OSSpinLockLock(&sl); } bool trylock() { return OSSpinLockTry(&sl); } void unlock() { OSSpinLockUnlock(&sl); } - + OSSpinLock sl; int refcount; }; -#elif defined __linux__ +#elif defined __linux__ && !defined ANDROID struct Mutex::Impl { Impl() { pthread_spin_init(&sl, 0); refcount = 1; } ~Impl() { pthread_spin_destroy(&sl); } - + void lock() { pthread_spin_lock(&sl); } bool trylock() { return pthread_spin_trylock(&sl) == 0; } void unlock() { pthread_spin_unlock(&sl); } - + pthread_spinlock_t sl; int refcount; }; @@ -986,11 +986,11 @@ struct Mutex::Impl { Impl() { pthread_mutex_init(&sl, 0); refcount = 1; } ~Impl() { pthread_mutex_destroy(&sl); } - + void lock() { pthread_mutex_lock(&sl); } bool trylock() { return pthread_mutex_trylock(&sl) == 0; } void unlock() { pthread_mutex_unlock(&sl); } - + pthread_mutex_t sl; int refcount; }; @@ -1001,14 +1001,14 @@ Mutex::Mutex() { impl = new Mutex::Impl; } - + Mutex::~Mutex() { if( CV_XADD(&impl->refcount, -1) == 1 ) delete impl; impl = 0; } - + Mutex::Mutex(const Mutex& m) { impl = m.impl; @@ -1023,10 +1023,10 @@ Mutex& Mutex::operator = (const Mutex& m) impl = m.impl; return *this; } - + void Mutex::lock() { impl->lock(); } void Mutex::unlock() { impl->unlock(); } -bool Mutex::trylock() { return impl->trylock(); } +bool Mutex::trylock() { return impl->trylock(); } }