module Kernel
def sleep(sleep_time)
def sleep(sleep_time) if Kernel.em_synchrony_sleep_hook && EM.reactor_thread? && !Thread.current[:em_synchrony_sleep_hook_called] begin Thread.current[:em_synchrony_sleep_hook_called] = true Kernel.em_synchrony_sleep_hook.call(sleep_time) ensure Thread.current[:em_synchrony_sleep_hook_called] = false end else orig_sleep(sleep_time) end end