diff options
| author | 2019-09-18 10:24:01 +0100 | |
|---|---|---|
| committer | 2019-09-18 10:24:01 +0100 | |
| commit | a003c97fba6e1a3456df73ab1d017f1b8e0fcde8 (patch) | |
| tree | c399688f5e28f0f038412d07f205274ece6c1eee | |
| parent | move _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__.py | 3 |
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() |
