Sha256: 11ada2e7de89ac3b7d1ec09ff7e4ead6671fbebff79370f60393f909e82cbf20
Contents?: true
Size: 492 Bytes
Versions: 2
Compression:
Stored size: 492 Bytes
Contents
require_relative './libev_scheduler_ext' module Libev class Scheduler def fiber(&block) fiber = Fiber.new(blocking: false, &block) unblock(nil, fiber) # fiber.resume return fiber end def kernel_sleep(duration = nil) block(:sleep, duration) end def process_wait(pid, flags) # This is a very simple way to implement a non-blocking wait: Thread.new do Process::Status.wait(pid, flags) end.value end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
libev_scheduler-0.2 | lib/libev_scheduler.rb |
libev_scheduler-0.1 | lib/libev_scheduler.rb |