Module: H2::Blockable
Instance Method Summary collapse
Instance Method Details
#block!(timeout = nil) ⇒ Object
107 108 109 |
# File 'lib/h2.rb', line 107 def block! timeout = nil @mutex.synchronize { @condition.wait @mutex, timeout } if @condition end |
#init_blocking ⇒ Object
102 103 104 105 |
# File 'lib/h2.rb', line 102 def init_blocking @mutex = Mutex.new @condition = ConditionVariable.new end |
#unblock! ⇒ Object
111 112 113 114 115 116 117 |
# File 'lib/h2.rb', line 111 def unblock! return unless @condition @mutex.synchronize do @condition.broadcast @condition = nil end end |