30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# File 'lib/rpush/daemon/signal_handler.rb', line 30
def self.start_handler(read_io)
@thread = Thread.new do
while readable_io = IO.select([read_io]) signal = readable_io.first[0].gets.strip
begin
case signal
when 'HUP'
handle_hup
when 'USR2'
handle_usr2
when 'INT', 'TERM'
Thread.new { Rpush::Daemon.shutdown }
break
when 'break'
break
else
Rpush.logger.error("Unhandled signal: #{signal}")
end
rescue StandardError => e
Rpush.logger.error("Error raised when handling signal '#{signal}'")
Rpush.logger.error(e)
end
end
end
end
|