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
This commit is contained in:
Muhammad Qureshi
2020-06-12 18:09:34 -07:00
parent a7642cd37b
commit 89358feae4

View File

@@ -50,13 +50,13 @@ TEST(MultiConditionTrigger, TestMultipleConditions) {
});
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++;