Merge "adb: enable -Wthread-safety on linux/darwin."

This commit is contained in:
Josh Gao 2017-05-03 23:38:57 +00:00 committed by Gerrit Code Review
commit 2983d2710e
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;