/usr/lib/ruby/vendor_ruby/em-synchrony/kernel.rb is in ruby-em-synchrony 1.0.5-2ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # encoding: UTF-8
require 'em-synchrony'
# Monkey-patch
module Kernel
alias_method :orig_sleep, :sleep
class << self
attr_accessor :em_synchrony_sleep_hook
end
# Monkey-patch
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
end
|