diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp --- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp +++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp @@ -18,15 +18,21 @@ #include #include +#include "make_test_thread.h" #include "test_macros.h" std::mutex m; +void do_try_lock() { + assert(m.try_lock() == false); +} + int main(int, char**) { { m.lock(); std::lock_guard lg(m, std::adopt_lock); - assert(m.try_lock() == false); + std::thread t = support::make_test_thread(do_try_lock); + t.join(); } m.lock(); diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp --- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp +++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp @@ -21,14 +21,20 @@ #include #include +#include "make_test_thread.h" #include "test_macros.h" std::mutex m; +void do_try_lock() { + assert(m.try_lock() == false); +} + int main(int, char**) { { std::lock_guard lg(m); - assert(m.try_lock() == false); + std::thread t = support::make_test_thread(do_try_lock); + t.join(); } m.lock();