aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/notifications.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2012-06-19 15:33:14 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2012-06-19 15:33:14 -0700
commitbf8e20586b131cd03537556f6494ec3195e8aeec (patch)
tree8a455326b34815384a4f53305909ee6a0a99cd92 /activesupport/lib/active_support/notifications.rb
parentceba010ea254e987eb266e31c55f45fe51b80713 (diff)
downloadrails-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.rb31
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