]> kaliko git repositories - python-daemon.git/commitdiff
better error handling 0.3
authorkaliko <efrim@azylum.org>
Fri, 23 Sep 2011 12:32:44 +0000 (14:32 +0200)
committerkaliko <efrim@azylum.org>
Fri, 23 Sep 2011 12:32:44 +0000 (14:32 +0200)
error handling should not rest on fuzzy string matching...

src/daemon.py

index 9bb945f0ed7d1ff20625f2017487fdc4d9878f25..2251f183246a3e23171aeb2412eaf07035f70f04 100644 (file)
@@ -20,7 +20,7 @@ class Daemon(object):
 
     Usage: subclass the Daemon class and override the run() method
     """
 
     Usage: subclass the Daemon class and override the run() method
     """
-    version = "0.2"
+    version = "0.3"
 
     def __init__(self, pidfile,
             stdin='/dev/null',
 
     def __init__(self, pidfile,
             stdin='/dev/null',
@@ -144,7 +144,7 @@ class Daemon(object):
             pid = None
 
         if not pid:
             pid = None
 
         if not pid:
-            message = "pidfile %s does not exist. Daemon not running?\n"
+            message = "pidfile %s does not exist. Is the Daemon running?\n"
             sys.stderr.write(message % self.pidfile)
             return  # not an error in a restart
 
             sys.stderr.write(message % self.pidfile)
             return  # not an error in a restart
 
@@ -153,10 +153,9 @@ class Daemon(object):
             os.kill(pid, SIGTERM)
             time.sleep(0.1)
         except OSError, err:
             os.kill(pid, SIGTERM)
             time.sleep(0.1)
         except OSError, err:
-            err = str(err)
-            if err.find("No such process") > 0:
+            if err.errno == 3:
                 if os.path.exists(self.pidfile):
                 if os.path.exists(self.pidfile):
-                    message = "Daemon not running? removing pid file %s.\n"
+                    message = "Daemon's not running? removing pid file %s.\n"
                     sys.stderr.write(message % self.pidfile)
                     os.remove(self.pidfile)
             else:
                     sys.stderr.write(message % self.pidfile)
                     os.remove(self.pidfile)
             else: