# File lib/daemon_kit/em.rb, line 19 def run(&block) if ::EM.reactor_running? DaemonKit.logger.warn "EventMachine reactor already running" block.call if block_given? else if block_given? ::EM.run { block.call } else Thread.main[:_dk_reactor] = Thread.new { EM.run {} } DaemonKit.trap( 'INT' ) { DaemonKit::EM.stop } DaemonKit.trap( 'TERM' ) { DaemonKit::EM.stop } end end end