change signal names to numbers as that is more portable and perl's
Chris Nehren [Fri, 20 Apr 2012 00:27:52 +0000 (20:27 -0400)]
kill() supports them anyway so there's no reason *not* to use them

Changes
Makefile.PL
lib/MooseX/Daemonize.pm

diff --git a/Changes b/Changes
index 6e5c4f2..810912a 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,10 @@
 Revision history for MooseX-Daemonize
 
+0.14 Thursday April 19, 2012
+    - using signal numbers directly is 
+      not portable; use the names instead
+      since perl's kill() supports them
+
 0.13 Wed. July 6, 2011
     - adding docs related to closing all
       filehandles and the issues that can
index 98d1409..d73a986 100644 (file)
@@ -16,5 +16,5 @@ requires 'MooseX::Types::Path::Class' => 0;
 no_index 'directory' => 'examples';
 
 auto_manifest;
-auto_repository;
+#auto_repository;
 WriteAll;
index 5c627ba..07a0d9a 100644 (file)
@@ -3,7 +3,7 @@ use strict;    # because Kwalitee is pedantic
 use Moose::Role;
 use MooseX::Types::Path::Class;
 
-our $VERSION   = '0.13';
+our $VERSION   = '0.14';
 
 with 'MooseX::Daemonize::WithPidFile',
      'MooseX::Getopt';
@@ -257,7 +257,7 @@ $_kill = sub {
 
     # Try SIGINT ... 2s ... SIGTERM ... 2s ... SIGKILL ... 3s ... UNDEAD!
     my $terminating_signal;
-    for ( [ 2, $timeout ], [15, $timeout], [9, $timeout * 1.5] ) {
+    for ( [ 'INT', $timeout ], ['TERM', $timeout], ['KILL', $timeout * 1.5] ) {
         my ($signal, $timeout) = @$_;
         $timeout = int $timeout;
 
@@ -276,9 +276,9 @@ $_kill = sub {
     }
 
     if($terminating_signal) {
-        if($terminating_signal == 9) {
-            # clean up the pidfile ourselves iff we used -9 and it worked
-            warn "Had to resort to 'kill -9' and it worked, wiping pidfile";
+        if($terminating_signal eq 'KILL') {
+            # clean up the pidfile ourselves iff we used KILL and it worked
+            warn "Had to resort to 'kill -KILL' and it worked, wiping pidfile";
             eval { $self->pidfile->remove };
             if ($@) {
                 warn "Could not remove pidfile ("