output/MultipleOutputs: parallelize EnableDisable()

This commit is contained in:
Max Kellermann
2016-12-14 08:41:22 +01:00
parent 6425b4f9f5
commit 7e1b53480e
3 changed files with 20 additions and 13 deletions

View File

@@ -107,9 +107,16 @@ MultipleOutputs::FindByName(const char *name) const
void
MultipleOutputs::EnableDisable()
{
/* parallel execution */
for (auto ao : outputs) {
const ScopeLock lock(ao->mutex);
ao->EnableDisableWait();
ao->EnableDisableAsync();
}
for (auto ao : outputs) {
const ScopeLock lock(ao->mutex);
ao->WaitForCommand();
}
}