From 99e284cc56fbbd7c7fe0e2a16c0e8d8cae7c94a4 Mon Sep 17 00:00:00 2001 From: Michael Schutte Date: Mon, 30 Apr 2007 10:03:35 +0200 Subject: [PATCH] Shutdown handler support. --- lib/clw/daemon.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/clw/daemon.rb b/lib/clw/daemon.rb index 9e5fe40..562ec26 100644 --- a/lib/clw/daemon.rb +++ b/lib/clw/daemon.rb @@ -61,6 +61,7 @@ module Clarkway def initialize @logger = @ca = @cert = @key = @crl = nil @threads = Hash.new + @onstop = Array.new @context = nil @daemon = nil @revoked = nil @@ -78,6 +79,9 @@ module Clarkway thread.exit end stop + @onstop.each do |handler| + handler[] + end @logger.info("Terminated gracefully.") exit end @@ -106,6 +110,13 @@ module Clarkway end end + # + # Execute +block+ on shutdown. + # + def on_stop(&block) + @onstop << block + end + protected # -- 2.11.4.GIT