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]