Class: TestMinitestRunner::Latch

Inherits:
Object
  • Object
show all
Defined in:
lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_test.rb

Instance Method Summary collapse

Constructor Details

#initialize(count = 1) ⇒ Latch

Returns a new instance of Latch.



603
604
605
606
607
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_test.rb', line 603

def initialize count = 1
  @count = count
  @lock  = Monitor.new
  @cv    = @lock.new_cond
end

Instance Method Details

#awaitObject



616
617
618
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_test.rb', line 616

def await
  @lock.synchronize { @cv.wait_while { @count > 0 } }
end

#releaseObject



609
610
611
612
613
614
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/minitest-5.17.0/test/minitest/test_minitest_test.rb', line 609

def release
  @lock.synchronize do
    @count -= 1 if @count > 0
    @cv.broadcast if @count == 0
  end
end