class Concurrent::CyclicBarrier

def wait(timeout = nil)

Returns:
  • (Boolean) - `true` if the `count` reaches zero else false on

Parameters:
  • timeout (Fixnum) -- the number of seconds to wait for the counter or
def wait(timeout = nil)
  synchronize do
    return false unless @generation.status == :waiting
    @number_waiting += 1
    if @number_waiting == @parties
      @action.call if @action
      ns_generation_done @generation, :fulfilled
      true
    else
      generation = @generation
      if ns_wait_until(timeout) { generation.status != :waiting }
        generation.status == :fulfilled
      else
        ns_generation_done generation, :broken, false
        false
      end
    end
  end
end