summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBert JW Regeer <bertjw@regeer.org>2014-05-14 15:53:56 -0600
committerBert JW Regeer <bertjw@regeer.org>2014-05-14 16:09:09 -0600
commitb9464c28b90f39c2fd9473c4170a65ba5985d6db (patch)
tree52d49458f3eb754e57ad3d485f14dd59b8c51f2f
parent9ea10d51bd0a539a2ede91c220a917db438d1577 (diff)
downloadwaitress-b9464c28b90f39c2fd9473c4170a65ba5985d6db.tar.gz
multiprocessing.Queue() is holding onto resources ...
And it means we run out of file descriptors to use on OS X when running tests...
-rw-r--r--waitress/tests/test_functional.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/waitress/tests/test_functional.py b/waitress/tests/test_functional.py
index 66a78fc..2ff3b97 100644
--- a/waitress/tests/test_functional.py
+++ b/waitress/tests/test_functional.py
@@ -51,23 +51,25 @@ class SubprocessTests(object):
def start_subprocess(self, target, **kw):
# Spawn a server process.
- queue = multiprocessing.Queue()
+ self.queue = multiprocessing.Queue()
self.proc = multiprocessing.Process(
target=start_server,
- args=(target, self.server, queue),
+ args=(target, self.server, self.queue),
kwargs=kw,
)
self.proc.start()
if self.proc.exitcode is not None: # pragma: no cover
raise RuntimeError("%s didn't start" % str(target))
# Get the socket the server is listening on.
- self.bound_to = queue.get(timeout=5)
+ self.bound_to = self.queue.get(timeout=5)
self.sock = self.create_socket()
def stop_subprocess(self):
if self.proc.exitcode is None:
self.proc.terminate()
self.sock.close()
+ # This give us one FD back ...
+ self.queue.close()
def assertline(self, line, status, reason, version):
v, s, r = (x.strip() for x in line.split(None, 2))