aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2019-09-18 10:24:01 +0100
committerGravatar jesopo2019-09-18 10:24:01 +0100
commita003c97fba6e1a3456df73ab1d017f1b8e0fcde8 (patch)
treec399688f5e28f0f038412d07f205274ece6c1eee
parentmove _raise_deadline() out of except block to clean up printed stacktrace (diff)
signature
move q.close() to where it will be called even if deadline is hit
-rw-r--r--src/utils/__init__.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/utils/__init__.py b/src/utils/__init__.py
index 60f25f9d..36157204 100644
--- a/src/utils/__init__.py
+++ b/src/utils/__init__.py
@@ -393,7 +393,6 @@ def deadline_process(func: typing.Callable[[], None], seconds: int=10):
q.put([True, func()])
except Exception as e:
q.put([False, e])
- q.close()
p = multiprocessing.Process(target=_wrap, args=(func, q))
p.start()
@@ -404,6 +403,8 @@ def deadline_process(func: typing.Callable[[], None], seconds: int=10):
except queue.Empty:
p.kill()
deadlined = True
+ finally:
+ q.close()
if deadlined:
_raise_deadline()