diff options
author | palkan <dementiev.vm@gmail.com> | 2016-09-19 12:29:23 +0300 |
---|---|---|
committer | palkan <dementiev.vm@gmail.com> | 2016-09-20 19:42:24 +0300 |
commit | 03a209e92aeed1e724b3ff787ec77936b7163ca5 (patch) | |
tree | cba7736f79df8686f1906ed7d9316c00afd02c97 /actioncable/lib/action_cable/channel/streams.rb | |
parent | 254db4987d03d3c9d3fca1e2961da8fd7dd0e06b (diff) | |
download | rails-03a209e92aeed1e724b3ff787ec77936b7163ca5.tar.gz rails-03a209e92aeed1e724b3ff787ec77936b7163ca5.tar.bz2 rails-03a209e92aeed1e724b3ff787ec77936b7163ca5.zip |
[Fix #25381] Avoid race condition on subscription confirmation
Diffstat (limited to 'actioncable/lib/action_cable/channel/streams.rb')
-rw-r--r-- | actioncable/lib/action_cable/channel/streams.rb | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/actioncable/lib/action_cable/channel/streams.rb b/actioncable/lib/action_cable/channel/streams.rb index 561750d713..c9b58f3a04 100644 --- a/actioncable/lib/action_cable/channel/streams.rb +++ b/actioncable/lib/action_cable/channel/streams.rb @@ -84,7 +84,8 @@ module ActionCable connection.server.event_loop.post do pubsub.subscribe(broadcasting, handler, lambda do - transmit_subscription_confirmation + @defer_subscription_confirmation_counter.decrement + transmit_subscription_confirmation unless defer_subscription_confirmation? logger.info "#{self.class.name} is streaming from #{broadcasting}" end) end |