diff options
author | mmmpa <mmmpa.mmmpa@gmail.com> | 2016-05-16 13:07:35 +0900 |
---|---|---|
committer | mmmpa <mmmpa.mmmpa@gmail.com> | 2016-05-26 05:22:56 +0900 |
commit | 711d232f9344173d6a3f63d5239fe9a41f10e9bc (patch) | |
tree | bb4a4c3b0186bdc379ad7dce81e05fbfc96839e9 /actioncable/lib/action_cable/subscription_adapter | |
parent | e0dbf155ed8f1047f5bca22a4b3718f063d968a0 (diff) | |
download | rails-711d232f9344173d6a3f63d5239fe9a41f10e9bc.tar.gz rails-711d232f9344173d6a3f63d5239fe9a41f10e9bc.tar.bz2 rails-711d232f9344173d6a3f63d5239fe9a41f10e9bc.zip |
Add guard to broadcast.
Diffstat (limited to 'actioncable/lib/action_cable/subscription_adapter')
-rw-r--r-- | actioncable/lib/action_cable/subscription_adapter/subscriber_map.rb | 6 |
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 |