From: Helge Norberg Date: Fri, 3 Mar 2017 16:27:29 +0000 (+0100) Subject: [semaphore] Fixed performance problem with release of a large number of permits. X-Git-Tag: 2.1.0_Beta2~66 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=51a6e977cddc9e263ca2c634484af8bd7ae865ba;p=casparcg [semaphore] Fixed performance problem with release of a large number of permits. --- diff --git a/common/semaphore.h b/common/semaphore.h index 19ec73ad7..ad6de09f8 100644 --- a/common/semaphore.h +++ b/common/semaphore.h @@ -33,15 +33,6 @@ namespace caspar { -template -void repeat_n(N times_to_repeat_block, const Func& func) -{ - for (N i = 0; i < times_to_repeat_block; ++i) - { - func(); - } -} - /** * Counting semaphore modelled after java.util.concurrent.Semaphore */ @@ -87,7 +78,7 @@ public: permits_ += permits; perform_callback_based_acquire(); - repeat_n(permits, [this] { permits_available_.notify_one(); }); + permits_available_.notify_all(); } /**