output/Control: add LockEnableDisableAsync()

This commit is contained in:
Max Kellermann 2019-04-26 18:28:09 +02:00
parent 2c8d004f78
commit 4473816384
2 changed files with 8 additions and 4 deletions

View File

@ -360,6 +360,12 @@ public:
* Caller must lock the mutex.
*/
void EnableDisableAsync();
void LockEnableDisableAsync() {
const std::lock_guard<Mutex> protect(mutex);
EnableDisableAsync();
}
void LockPauseAsync() noexcept;
void CloseWait() noexcept;

View File

@ -147,10 +147,8 @@ MultipleOutputs::EnableDisable()
{
/* parallel execution */
for (const auto &ao : outputs) {
const std::lock_guard<Mutex> lock(ao->mutex);
ao->EnableDisableAsync();
}
for (const auto &ao : outputs)
ao->LockEnableDisableAsync();
WaitAll();
}