Module: H2::Blockable
Instance Method Summary collapse
Instance Method Details
#block!(timeout = nil) ⇒ Object
72 73 74 |
# File 'lib/h2.rb', line 72 def block! timeout = nil @mutex.synchronize { @condition.wait @mutex, timeout } if @condition end |
#init_blocking ⇒ Object
67 68 69 70 |
# File 'lib/h2.rb', line 67 def init_blocking @mutex = Mutex.new @condition = ConditionVariable.new end |
#unblock! ⇒ Object
76 77 78 79 80 81 82 |
# File 'lib/h2.rb', line 76 def unblock! return unless @condition @mutex.synchronize do @condition.broadcast @condition = nil end end |