diff options
author | Jonas Devlieghere <jonas@devlieghere.com> | 2019-09-04 19:36:29 +0000 |
---|---|---|
committer | Jonas Devlieghere <jonas@devlieghere.com> | 2019-09-04 19:36:29 +0000 |
commit | 85d6edb26577a75940c9d691e6a178726cdb066b (patch) | |
tree | cb6822b03e672075f3ecaddb718dbc834d5e2011 /lldb/packages/Python/lldbsuite/test | |
parent | 6da79ce1fed52f828b5e5d2e3d274ef1692f17af (diff) | |
download | bcm5719-llvm-85d6edb26577a75940c9d691e6a178726cdb066b.tar.gz bcm5719-llvm-85d6edb26577a75940c9d691e6a178726cdb066b.zip |
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
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/make/pseudo_barrier.h | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/make/pseudo_barrier.h b/lldb/packages/Python/lldbsuite/test/make/pseudo_barrier.h index 5a6b045fda7..e4066b72e02 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 <atomic> -#include <thread> + +// 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<int> 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) |