diff options
author | Bert JW Regeer <bertjw@regeer.org> | 2014-05-14 15:53:56 -0600 |
---|---|---|
committer | Bert JW Regeer <bertjw@regeer.org> | 2014-05-14 16:09:09 -0600 |
commit | b9464c28b90f39c2fd9473c4170a65ba5985d6db (patch) | |
tree | 52d49458f3eb754e57ad3d485f14dd59b8c51f2f | |
parent | 9ea10d51bd0a539a2ede91c220a917db438d1577 (diff) | |
download | waitress-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.py | 8 |
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)) |