From e13783cd6af15cbf5331978a5d921308ecf4f00d Mon Sep 17 00:00:00 2001
From: wilcoxjg <wilcoxjg@gmail.com>
Date: Thu, 9 Aug 2007 08:57:45 -0700
Subject: [PATCH] If do_stop attempts to stop a nonexistent process the OSError
 exception is caught (by errno) and handled tersely.

---
 src/allmydata/scripts/startstop_node.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/allmydata/scripts/startstop_node.py b/src/allmydata/scripts/startstop_node.py
index 557578e5..d688cf29 100644
--- a/src/allmydata/scripts/startstop_node.py
+++ b/src/allmydata/scripts/startstop_node.py
@@ -91,7 +91,14 @@ def do_stop(basedir, config, out=sys.stdout, err=sys.stderr):
     pid = int(pid)
 
     timer = 0
-    os.kill(pid, signal.SIGTERM)
+    try:
+        os.kill(pid, signal.SIGTERM)
+    except OSError, oserr:
+        if oserr.errno == 3:
+            print oserr.strerror
+            return 1
+        else:
+            raise
     time.sleep(0.1)
     while timer < 5:
         # poll once per second until twistd.pid goes away, up to 5 seconds
-- 
2.45.2