lib/deimos/producer.rb in deimos-ruby-1.19.beta2 vs lib/deimos/producer.rb in deimos-ruby-1.19.0

- old
+ new

@@ -35,12 +35,15 @@ # @!visibility private def _disable_producer_classes(producer_classes) Thread.current[:frk_disabled_producers] ||= Set.new producers_to_disable = producer_classes - Thread.current[:frk_disabled_producers].to_a - Thread.current[:frk_disabled_producers] += producers_to_disable - yield - Thread.current[:frk_disabled_producers] -= producers_to_disable + begin + Thread.current[:frk_disabled_producers] += producers_to_disable + yield + ensure + Thread.current[:frk_disabled_producers] -= producers_to_disable + end end # Are producers disabled? If a class is passed in, check only that class. # Otherwise check if the global disable flag is set. # @param producer_class [Class]