Sha256: 31d70a5f74c8872a5c76b73e7a0fed03459e9e0988127bc799d918bb065dbd1f

Contents?: true

Size: 357 Bytes

Versions: 7

Compression:

Stored size: 357 Bytes

Contents

require 'concurrent/ivar'

module Concurrent
  
  # @api Channel
  # @!macro edge_warning
  module Channel

    Probe = IVar

    def self.select(*channels)
      probe = Probe.new
      channels.each { |channel| channel.select(probe) }
      result = probe.value
      channels.each { |channel| channel.remove_probe(probe) }
      result
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
concurrent-ruby-edge-0.1.2 lib/concurrent/channel/channel.rb
concurrent-ruby-edge-0.2.0.pre2 lib/concurrent/channel/channel.rb
concurrent-ruby-edge-0.2.0.pre1 lib/concurrent/channel/channel.rb
concurrent-ruby-edge-0.1.1 lib/concurrent/channel/channel.rb
concurrent-ruby-edge-0.1.0 lib/concurrent/channel/channel.rb
concurrent-ruby-edge-0.1.0.pre3 lib/concurrent/channel/channel.rb
concurrent-ruby-edge-0.1.0.pre2 lib/concurrent/channel/channel.rb