From: Daniel Berger Date: 2007-11-25T22:58:03+09:00 Subject: [ANN] win32-service 0.6.0 Hi all, The Win32Utils Team is very pleased to announce the release of win32-service 0.6.0. This release features lots of changes. Note that some of the changes are not backwards compatible. See below. Special thanks goes out to Kevin Burge for a nice patch to the Daemon class that greatly improved its responsiveness with regards to event handling, especially service_stop. :) = What is it? A library for creating and controlling Services (i.e. daemons) on MS Windows. = What's new? * The Service control class is now pure Ruby. The Daemon class is still C, however. That may change in the future. This means the windows-pr library is now a prerequisite. * The Service.new method has been altered in a way that is not backwards compatible. It is now the same as Service.create. * The Service.start method now properly handles arguments to the Daemon#service_main method. * The Daemon source code is now separate from the Service control class source code. That means you must require them separately, as needed, i.e. 'win32/service' vs 'win32/daemon'. * The Daemon class should be much more responsive to service events now, especially service_stop. (Thanks Kevin) * Added the Daemon.mainloop method as a shortcut for Daemon.new.mainloop. * The Daemon class now redirects STDIN, STDOUT and STDERR to the NUL device if they're still associated with a terminal when the service starts. This should help prevent Errno::EBADF errors. * The Service.services class method now supports the group parameter for versions of Ruby built with older compilers, i.e. it will now work with the one-click Ruby installer. * The Service.getdisplayname method was changed to Service.get_display_name. An alias has been provided for backwards compatibility. * The Service.getservicename method was changed to Service.get_service_name. An alias has been provided for backwards compatibility. * Added the Service.config_info method. * The Service.create and Service.configure methods now allow you to set failure actions, failure commands, and reset/retry periods. * Improved test suite. * Changed 'tdaemon.rb', 'tdaemon_ctl.rb' and 'service_test.rb' to 'demo_daemon.rb', 'demo_daemon_ctl.rb' and 'demo_services.rb', respectively. * Some refactoring and updates to the demo daemon and demo daemon controller examples. * The Win32Service struct is now ServiceInfo. * ServiceError is now Service::Error. * DaemonError is now Daemon::Error. * Some documentation improvements, corrections and updates. = Where can I get it? gem install win32-service You can also find it on the RAA at http://raa.ruby-lang.org/project/win32-service/ Or visit the project page at http://rubyforge.org/projects/win32utils/ Enjoy! The Win32Utils Team