Bug 861146 - Provide pthread_rwlock replacement for Android 2.2. r=jesup

This commit is contained in:
Gian-Carlo Pascutto 2013-04-16 15:47:41 +02:00
parent 342c4f72c7
commit 343000e7d3
2 changed files with 11 additions and 1 deletions

View File

@ -15,6 +15,8 @@
#if defined(_WIN32)
#include "webrtc/system_wrappers/source/rw_lock_generic.h"
#include "webrtc/system_wrappers/source/rw_lock_win.h"
#elif defined(ANDROID)
#include "webrtc/system_wrappers/source/rw_lock_generic.h"
#else
#include "webrtc/system_wrappers/source/rw_lock_posix.h"
#endif
@ -22,13 +24,16 @@
namespace webrtc {
RWLockWrapper* RWLockWrapper::CreateRWLock() {
#ifdef _WIN32
#if defined(_WIN32)
// Native implementation is faster, so use that if available.
RWLockWrapper* lock = RWLockWin::Create();
if (lock) {
return lock;
}
return new RWLockGeneric();
#elif defined(ANDROID)
// Android 2.2 and before do not have POSIX pthread rwlocks.
return new RWLockGeneric();
#else
return RWLockPosix::Create();
#endif

View File

@ -138,6 +138,11 @@
}],
['OS=="android" or moz_widget_toolkit_gonk==1', {
'dependencies': [ 'cpu_features_android', ],
'sources!': [
# Android doesn't have these in <=2.2
'rw_lock_posix.cc',
'rw_lock_posix.h',
],
}],
['OS=="linux"', {
'link_settings': {