From: Jonas Devlieghere Date: Wed, 4 Sep 2019 19:36:29 +0000 (+0000) Subject: Revert "[test] Address TestConcurrentMany*.py flakiness on macOS" X-Git-Tag: llvmorg-11-init~10030 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=85d6edb26577a75940c9d691e6a178726cdb066b;p=platform%2Fupstream%2Fllvm.git Revert "[test] Address TestConcurrentMany*.py flakiness on macOS" This reverts my change to pseudo_barrier.h which isn't necessary anymore after Fred's fix to debugserver and caused TestThreadStepOut to fail. llvm-svn: 370963 --- diff --git a/lldb/packages/Python/lldbsuite/test/make/pseudo_barrier.h b/lldb/packages/Python/lldbsuite/test/make/pseudo_barrier.h index 5a6b045..e4066b7 100644 --- a/lldb/packages/Python/lldbsuite/test/make/pseudo_barrier.h +++ b/lldb/packages/Python/lldbsuite/test/make/pseudo_barrier.h @@ -1,14 +1,21 @@ #include -#include + +// Note that although hogging the CPU while waiting for a variable to change +// would be terrible in production code, it's great for testing since it avoids +// a lot of messy context switching to get multiple threads synchronized. typedef std::atomic pseudo_barrier_t; -static inline void pseudo_barrier_wait(pseudo_barrier_t &barrier) { - --barrier; - while (barrier > 0) - std::this_thread::yield(); -} +#define pseudo_barrier_wait(barrier) \ + do \ + { \ + --(barrier); \ + while ((barrier).load() > 0) \ + ; \ + } while (0) -static inline void pseudo_barrier_init(pseudo_barrier_t &barrier, int count) { - barrier = count; -} +#define pseudo_barrier_init(barrier, count) \ + do \ + { \ + (barrier) = (count); \ + } while (0)