From ce0609d29b60482e64e049b97725e794c3445d39 Mon Sep 17 00:00:00 2001
From: Brian Warner <warner@lothar.com>
Date: Sun, 18 Nov 2007 20:41:26 -0700
Subject: [PATCH] test_client: stall 2.0s between shutdown and restart, trying
 to fix cygwin

---
 src/allmydata/test/test_client.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/allmydata/test/test_client.py b/src/allmydata/test/test_client.py
index a186f8c9..fd76ce08 100644
--- a/src/allmydata/test/test_client.py
+++ b/src/allmydata/test/test_client.py
@@ -160,12 +160,16 @@ class Run(unittest.TestCase):
         c1 = client.Client(basedir)
         c1.setServiceParent(self.sparent)
 
+        # delay to let the service start up completely. I'm not entirely sure
+        # this is necessary.
+        d = self.stall(delay=2.0)
+        d.addCallback(lambda res: c1.disownServiceParent())
         # the cygwin buildslave seems to need more time to let the old
         # service completely shut down. When delay=0.1, I saw this test fail,
         # probably due to the logport trying to reclaim the old socket
-        # number.
-        d = self.stall(delay=2.0)
-        d.addCallback(lambda res: c1.disownServiceParent())
+        # number. This suggests that either we're dropping a Deferred
+        # somewhere in the shutdown sequence, or that cygwin is just cranky.
+        d.addCallback(self.stall, delay=2.0)
         def _restart(res):
             # TODO: pause for slightly over one second, to let
             # Client._check_hotline poll the file once. That will exercise
-- 
2.45.2