Method: Async::Scheduler#unblock

Defined in:
lib/async/scheduler.rb

#unblock(blocker, fiber) ⇒ Object

Unblock a fiber that was previously blocked.



262
263
264
265
266
267
268
269
270
# File 'lib/async/scheduler.rb', line 262

def unblock(blocker, fiber)
  # Fiber.blocking{$stderr.puts "unblock(#{blocker}, #{fiber})"}
  
  # This operation is protected by the GVL:
  if selector = @selector
    selector.push(fiber)
    selector.wakeup
  end
end