| Index: runtime/vm/thread_barrier_test.cc
|
| diff --git a/runtime/vm/thread_barrier_test.cc b/runtime/vm/thread_barrier_test.cc
|
| index 4517e18d95766079341f680224e62207bd4b1d14..7ca11c64690a7e8f024011f14f5050bb854efa84 100644
|
| --- a/runtime/vm/thread_barrier_test.cc
|
| +++ b/runtime/vm/thread_barrier_test.cc
|
| @@ -46,14 +46,21 @@ UNIT_TEST_CASE(ThreadBarrier) {
|
| static const intptr_t kNumTasks = 5;
|
| static const intptr_t kNumRounds = 500;
|
|
|
| - ThreadBarrier barrier(kNumTasks + 1);
|
| - for (intptr_t i = 0; i < kNumTasks; ++i) {
|
| - Dart::thread_pool()->Run(new FuzzTask(kNumRounds, &barrier, i + 1));
|
| - }
|
| - for (intptr_t i = 0; i < kNumRounds; ++i) {
|
| - barrier.Sync();
|
| + Monitor* monitor = new Monitor();
|
| + Monitor* monitor_done = new Monitor();
|
| + {
|
| + ThreadBarrier barrier(kNumTasks + 1, monitor, monitor_done);
|
| + for (intptr_t i = 0; i < kNumTasks; ++i) {
|
| + Dart::thread_pool()->Run(new FuzzTask(kNumRounds, &barrier, i + 1));
|
| + }
|
| + for (intptr_t i = 0; i < kNumRounds; ++i) {
|
| + barrier.Sync();
|
| + }
|
| + barrier.Exit();
|
| }
|
| - barrier.Exit();
|
| +
|
| + delete monitor_done;
|
| + delete monitor;
|
| }
|
|
|
| } // namespace dart
|
|
|