Merge "adb: enable -Wthread-safety on linux/darwin." am: 2983d2710e am: 0c91897714

am: d3f512ebe3

Change-Id: I4667c61be0734f5b545b14c5cde2d3d358f10081
This commit is contained in:
Josh Gao 2017-05-03 23:48:58 +00:00 committed by android-build-merger
commit 425d0db555
2 changed files with 6 additions and 51 deletions

View file

@ -17,11 +17,15 @@ ADB_COMMON_CFLAGS := \
-Wvla \
-DADB_REVISION='"$(adb_version)"' \
ADB_COMMON_linux_CFLAGS := \
ADB_COMMON_posix_CFLAGS := \
-Wexit-time-destructors \
-Wthread-safety
ADB_COMMON_linux_CFLAGS := \
$(ADB_COMMON_posix_CFLAGS) \
ADB_COMMON_darwin_CFLAGS := \
-Wexit-time-destructors \
$(ADB_COMMON_posix_CFLAGS) \
# Define windows.h and tchar.h Unicode preprocessor symbols so that
# CreateFile(), _tfopen(), etc. map to versions that take wchar_t*, breaking the

View file

@ -201,55 +201,6 @@ TEST_F(sysdeps_poll, fd_count) {
}
}
TEST(sysdeps_mutex, mutex_smoke) {
static std::atomic<bool> finished(false);
static std::mutex &m = *new std::mutex();
m.lock();
ASSERT_FALSE(m.try_lock());
std::thread thread([]() {
ASSERT_FALSE(m.try_lock());
m.lock();
finished.store(true);
std::this_thread::sleep_for(200ms);
m.unlock();
});
ASSERT_FALSE(finished.load());
std::this_thread::sleep_for(100ms);
ASSERT_FALSE(finished.load());
m.unlock();
std::this_thread::sleep_for(100ms);
m.lock();
ASSERT_TRUE(finished.load());
m.unlock();
thread.join();
}
TEST(sysdeps_mutex, recursive_mutex_smoke) {
static std::recursive_mutex &m = *new std::recursive_mutex();
m.lock();
ASSERT_TRUE(m.try_lock());
m.unlock();
std::thread thread([]() {
ASSERT_FALSE(m.try_lock());
m.lock();
std::this_thread::sleep_for(500ms);
m.unlock();
});
std::this_thread::sleep_for(100ms);
m.unlock();
std::this_thread::sleep_for(100ms);
ASSERT_FALSE(m.try_lock());
m.lock();
m.unlock();
thread.join();
}
TEST(sysdeps_condition_variable, smoke) {
static std::mutex &m = *new std::mutex;
static std::condition_variable &cond = *new std::condition_variable;