aboutsummaryrefslogtreecommitdiffstats
path: root/actioncable/lib
diff options
context:
space:
mode:
authorMatthew Draper <matthew@trebex.net>2016-07-04 08:39:02 +0930
committerGitHub <noreply@github.com>2016-07-04 08:39:02 +0930
commit550303c05c48f17b699a13258608e04bf63cf0e8 (patch)
tree4cfc38fbba5f441b13b777f47dcf9f89af54ae3a /actioncable/lib
parentee50de03908f24c377d4842f759182fe9241c6fa (diff)
parent711d232f9344173d6a3f63d5239fe9a41f10e9bc (diff)
downloadrails-550303c05c48f17b699a13258608e04bf63cf0e8.tar.gz
rails-550303c05c48f17b699a13258608e04bf63cf0e8.tar.bz2
rails-550303c05c48f17b699a13258608e04bf63cf0e8.zip
Merge pull request #25030 from mmmpa/pull_request
ActionCable, sometimes add_channel is not called.
Diffstat (limited to 'actioncable/lib')
-rw-r--r--actioncable/lib/action_cable/subscription_adapter/subscriber_map.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/actioncable/lib/action_cable/subscription_adapter/subscriber_map.rb b/actioncable/lib/action_cable/subscription_adapter/subscriber_map.rb
index 37eed09793..4ec513e3ba 100644
--- a/actioncable/lib/action_cable/subscription_adapter/subscriber_map.rb
+++ b/actioncable/lib/action_cable/subscription_adapter/subscriber_map.rb
@@ -32,7 +32,11 @@ module ActionCable
end
def broadcast(channel, message)
- list = @sync.synchronize { @subscribers[channel].dup }
+ list = @sync.synchronize do
+ return if !@subscribers.key?(channel)
+ @subscribers[channel].dup
+ end
+
list.each do |subscriber|
invoke_callback(subscriber, message)
end