Method: Evt::Bundled#block
- Defined in:
- lib/evt/backends/bundled.rb
#block(blocker, timeout = nil) ⇒ Object
Block the calling fiber.
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/evt/backends/bundled.rb', line 120 def block(blocker, timeout = nil) if timeout @waiting[Fiber.current] = current_time + timeout begin Fiber.yield ensure @waiting.delete(Fiber.current) end else @blocking += 1 begin Fiber.yield ensure @blocking -= 1 end end end |