Sha256: 74ef94514a24265b790bb0f676758de5edf6921fdec0a988eb57320f7954daf2
Contents?: true
Size: 971 Bytes
Versions: 14
Compression:
Stored size: 971 Bytes
Contents
begin require 'eventmachine' rescue LoadError require 'rubygems' require 'eventmachine' end #:stopdoc: if EM::VERSION < '0.12.2' def EventMachine::run blk=nil, tail=nil, &block @tails ||= [] tail and @tails.unshift(tail) if reactor_running? (b = blk || block) and b.call # next_tick(b) else @conns = {} @acceptors = {} @timers = {} begin @reactor_running = true initialize_event_machine (b = blk || block) and add_timer(0, b) run_machine ensure release_machine @reactor_running = false end until @tails.empty? @tails.pop.call end end end def EventMachine::fork_reactor &block Kernel.fork do if self.reactor_running? self.stop_event_loop self.release_machine self.instance_variable_set( '@reactor_running', false ) end self.run block end end end require 'ext/emfork'
Version data entries
14 entries across 14 versions & 5 rubygems