X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=lib%2Fmcollective%2Fwindows_daemon.rb;fp=lib%2Fmcollective%2Fwindows_daemon.rb;h=3516730a61e4364bd8edab767000089b227f5488;hb=b87d2f4e68281062df1913440ca5753ae63314a9;hp=0000000000000000000000000000000000000000;hpb=ab0ea530b8ac956091f17b104ab2311336cfc250;p=packages%2Fprecise%2Fmcollective.git diff --git a/lib/mcollective/windows_daemon.rb b/lib/mcollective/windows_daemon.rb new file mode 100644 index 0000000..3516730 --- /dev/null +++ b/lib/mcollective/windows_daemon.rb @@ -0,0 +1,25 @@ +require 'win32/daemon' + +module MCollective + class WindowsDaemon < Win32::Daemon + def self.daemonize_runner(pid=nil) + raise "Writing pid files are not supported on the Windows Platform" if pid + raise "The Windows Daemonizer should only be used on the Windows Platform" unless Util.windows? + + WindowsDaemon.mainloop + end + + def service_main + Log.debug("Starting Windows Service Daemon") + + runner = Runner.new(nil) + runner.run + end + + def service_stop + Log.info("Windows service stopping") + PluginManager["connector_plugin"].disconnect + exit! 0 + end + end +end