From 32f25f33e3f3fb4b4110c57f3c7a515746542840 Mon Sep 17 00:00:00 2001
From: Brian Warner <warner@lothar.com>
Date: Fri, 14 Sep 2007 20:16:57 -0700
Subject: [PATCH] check-memory: if the child process fails to start, shut down
 instead of hanging forever

---
 src/allmydata/test/check_memory.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/allmydata/test/check_memory.py b/src/allmydata/test/check_memory.py
index 2d82f664..3ffa3d14 100644
--- a/src/allmydata/test/check_memory.py
+++ b/src/allmydata/test/check_memory.py
@@ -183,6 +183,8 @@ this file are ignored.
         # control.furl file to appear.
         furl_file = os.path.join(clientdir, "control.furl")
         def _check():
+            if pp.ended:
+                raise RuntimeError("process ended while waiting for startup")
             return os.path.exists(furl_file)
         d = self.poll(_check, 0.1)
         # once it exists, wait a moment before we read from it, just in case
@@ -333,11 +335,14 @@ this file are ignored.
 
 
 class ClientWatcher(protocol.ProcessProtocol):
+    ended = False
     def outReceived(self, data):
         print "OUT:", data
     def errReceived(self, data):
         print "ERR:", data
     def processEnded(self, reason):
+        print "PROCESSENDED", reason
+        self.ended = True
         self.d.callback(None)
 
 
-- 
2.45.2