From aaa488fefa1cc428b3ea73c378c8aa35f021258b Mon Sep 17 00:00:00 2001 From: Vlastimil Holer Date: Fri, 6 Apr 2018 15:42:12 +0200 Subject: [PATCH] B #1941: ActionManager threads counter not decreased --- src/mad/ruby/ActionManager.rb | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/mad/ruby/ActionManager.rb b/src/mad/ruby/ActionManager.rb index 7f0886f8f9..af741214c1 100644 --- a/src/mad/ruby/ActionManager.rb +++ b/src/mad/ruby/ActionManager.rb @@ -196,14 +196,16 @@ class ActionManager if action[:threaded] thread = Thread.new { - action[:method].call(*action[:args]) + begin + action[:method].call(*action[:args]) + ensure + @threads_mutex.synchronize { + @num_running -= 1 + delete_running_action(action[:id]) - @threads_mutex.synchronize { - @num_running -= 1 - delete_running_action(action[:id]) - - @threads_cond.signal - } + @threads_cond.signal + } + end } action[:thread] = thread