commit | 89358feae40fda647eb1d688094b92fb7b7d1e31 | [log] [tgz] |
---|---|---|
author | Muhammad Qureshi <muhammadq@google.com> | Fri Jun 12 18:09:34 2020 -0700 |
committer | Muhammad Qureshi <muhammadq@google.com> | Fri Jun 12 18:09:34 2020 -0700 |
tree | 1c5d216582149080a9700983c49d335bdf41e16d | |
parent | a7642cd37bcecf5dbdf84194ce99d689cceeedf4 [diff] |
Fix testMultipleConditions flake Use vector<int> instead of vector<bool>. vector<bool> is not thread-safe: https://en.cppreference.com/w/cpp/container#Thread_safety Fixes: 156690351 Test: atest --iterations=500 statsd_test:MultiConditionTrigger#TestMultipleConditions Change-Id: I9121747ffbee0864afbff993e7fe417104827952
diff --git a/cmds/statsd/tests/utils/MultiConditionTrigger_test.cpp b/cmds/statsd/tests/utils/MultiConditionTrigger_test.cpp index db402a0..32cecd3 100644 --- a/cmds/statsd/tests/utils/MultiConditionTrigger_test.cpp +++ b/cmds/statsd/tests/utils/MultiConditionTrigger_test.cpp
@@ -50,13 +50,13 @@ }); vector<thread> threads; - vector<bool> done(numConditions, false); + vector<int> done(numConditions, 0); int i = 0; for (const string& conditionName : conditionNames) { threads.emplace_back([&done, &conditionName, &trigger, i] { sleep_for(chrono::milliseconds(3)); - done[i] = true; + done[i] = 1; trigger.markComplete(conditionName); }); i++;