# File lib/clockwork/manager.rb, line 64 def run log "Starting clock for #{@events.size} events: [ #{@events.map(&:to_s).join(' ')} ]" sig_read, sig_write = IO.pipe (%w[INT TERM HUP] & Signal.list.keys).each do |sig| trap sig do sig_write.puts(sig) end end run_tick_loop while io = IO.select([sig_read]) sig = io.first[0].gets.chomp handle_signal(sig) end end