From 2c7bb309e9b81c18665c7d6e09c2a68ea5e1180e Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Wed, 23 Apr 2008 18:33:44 +0200 Subject: [PATCH] core: restart on SIGHUP --- lib/rbot/ircbot.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/rbot/ircbot.rb b/lib/rbot/ircbot.rb index 6a1c8f67..9cbe7dcb 100644 --- a/lib/rbot/ircbot.rb +++ b/lib/rbot/ircbot.rb @@ -761,10 +761,10 @@ class Bot end # things to do when we receive a signal - def got_sig(sig) - debug "received #{sig}, queueing quit" + def got_sig(sig, func=:quit) + debug "received #{sig}, queueing #{func}" $interrupted += 1 - quit unless @quit_mutex.locked? + self.send(func) unless @quit_mutex.locked? debug "interrupted #{$interrupted} times" if $interrupted >= 3 debug "drastic!" @@ -778,7 +778,7 @@ class Bot begin trap("SIGINT") { got_sig("SIGINT") } trap("SIGTERM") { got_sig("SIGTERM") } - trap("SIGHUP") { got_sig("SIGHUP") } + trap("SIGHUP") { got_sig("SIGHUP", :restart) } rescue ArgumentError => e debug "failed to trap signals (#{e.pretty_inspect}): running on Windows?" rescue Exception => e -- 2.39.2