Merge "adb: enable -Wthread-safety on linux/darwin." am: 2983d2710e
am: 0c91897714
am: d3f512ebe3
Change-Id: I4667c61be0734f5b545b14c5cde2d3d358f10081
This commit is contained in:
commit
425d0db555
2 changed files with 6 additions and 51 deletions
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue