From be3cd762fbd809c789c3783f866c83b1124f95dd Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Fri, 20 Jun 2008 11:56:45 +0200 Subject: [PATCH] ircbot.rb: ensure that the logger is flushed If the bot fails to load (e.g. because of missing dependency) the user might miss the last error messages because the logger thread wouldn't reach completion. Ensure its closure in an END block. --- lib/rbot/ircbot.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/rbot/ircbot.rb b/lib/rbot/ircbot.rb index 33def8bc..9aef8408 100644 --- a/lib/rbot/ircbot.rb +++ b/lib/rbot/ircbot.rb @@ -66,12 +66,18 @@ def rawlog(level, message=nil, who_pos=1) $log_queue.push qmsg end -def restart_logger(newlogger = false) +def halt_logger if $log_thread && $log_thread.alive? $log_queue << nil $log_thread.join $log_thread = nil end +end + +END { halt_logger } + +def restart_logger(newlogger = false) + halt_logger $logger = newlogger if newlogger -- 2.39.2