Sha256: 15805dc4cf0a334882bf9e2d8e72c721d3ba6218dd4e57ce3bb85af05e7707a4
Contents?: true
Size: 435 Bytes
Versions: 1
Compression:
Stored size: 435 Bytes
Contents
require 'fiber' require 'cool.io' class Coolio::SyncDefer < Coolio::AsyncWatcher def self.defer loop=Coolio::Loop.default, &block new(loop, &block).result end attr_reader :result def initialize loop=Coolio::Loop.default super() @fiber = Fiber.current attach(loop) Thread.new{ @result = yield signal } Fiber.yield end def on_signal detach @fiber.resume(result) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sync-defer-0.9.0 | lib/cool.io/sync-defer.rb |