diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2012-06-19 15:33:14 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2012-06-19 15:33:14 -0700 |
commit | bf8e20586b131cd03537556f6494ec3195e8aeec (patch) | |
tree | 8a455326b34815384a4f53305909ee6a0a99cd92 /activesupport/lib/active_support/notifications.rb | |
parent | ceba010ea254e987eb266e31c55f45fe51b80713 (diff) | |
download | rails-bf8e20586b131cd03537556f6494ec3195e8aeec.tar.gz rails-bf8e20586b131cd03537556f6494ec3195e8aeec.tar.bz2 rails-bf8e20586b131cd03537556f6494ec3195e8aeec.zip |
move fanout back to a global variable, add a mutex for safety
Diffstat (limited to 'activesupport/lib/active_support/notifications.rb')
-rw-r--r-- | activesupport/lib/active_support/notifications.rb | 31 |
1 files changed, 5 insertions, 26 deletions
diff --git a/activesupport/lib/active_support/notifications.rb b/activesupport/lib/active_support/notifications.rb index 55041ea2af..b4657a8ba9 100644 --- a/activesupport/lib/active_support/notifications.rb +++ b/activesupport/lib/active_support/notifications.rb @@ -135,24 +135,9 @@ module ActiveSupport # to log subscribers in a thread. You can use any queue implementation you want. # module Notifications - class Registry # :nodoc: - def self.instance - Thread.current[name] ||= new - end - - attr_reader :notifier, :instrumenter - - def initialize - self.notifier = Fanout.new - end - - def notifier=(notifier) - @notifier = notifier - @instrumenter = Instrumenter.new(notifier) - end - end - class << self + attr_accessor :notifier + def publish(name, *args) notifier.publish(name, *args) end @@ -181,16 +166,10 @@ module ActiveSupport end def instrumenter - Registry.instance.instrumenter - end - - def notifier - Registry.instance.notifier - end - - def notifier=(notifier) - Registry.instance.notifier = notifier + Thread.current[:"instrumentation_#{notifier.object_id}"] ||= Instrumenter.new(notifier) end end + + self.notifier = Fanout.new end end |