From ca90c138f4bce0ce2842d608c6577ee99caa2527 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Wed, 19 Dec 2018 07:19:31 -0800 Subject: [PATCH] Reap still running threads after timeout This is an improvement to #49921 which reaps threads after the timeout expires instead of letting them continue to take up resources. --- lib/ansible/module_utils/facts/timeout.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/ansible/module_utils/facts/timeout.py b/lib/ansible/module_utils/facts/timeout.py index 934e7aff683..ebb71cc6986 100644 --- a/lib/ansible/module_utils/facts/timeout.py +++ b/lib/ansible/module_utils/facts/timeout.py @@ -50,6 +50,8 @@ def timeout(seconds=None, error_message="Timer expired"): except multiprocessing.TimeoutError: # This is an ansible.module_utils.common.facts.timeout.TimeoutError raise TimeoutError('Timer expired after %s seconds' % timeout_value) + finally: + pool.terminate() return wrapper