◐ Shell
clean mode source ↗

[3.8] bpo-38546: Fix concurrent.futures test_ressources_gced_in_workers() (GH-17652) by miss-islington · Pull Request #17653 · python/cpython

Expand Up @@ -87,8 +87,7 @@ def my_method(self):

class EventfulGCObj(): def __init__(self, ctx): mgr = get_context(ctx).Manager() def __init__(self, mgr): self.event = mgr.Event()
def __del__(self): Expand Down Expand Up @@ -848,12 +847,21 @@ def test_traceback(self): def test_ressources_gced_in_workers(self): # Ensure that argument for a job are correctly gc-ed after the job # is finished obj = EventfulGCObj(self.ctx) mgr = get_context(self.ctx).Manager() obj = EventfulGCObj(mgr) future = self.executor.submit(id, obj) future.result()
self.assertTrue(obj.event.wait(timeout=1))
# explicitly destroy the object to ensure that EventfulGCObj.__del__() # is called while manager is still running. obj = None support.gc_collect()
mgr.shutdown() mgr.join()

create_executor_tests(ProcessPoolExecutorTest, executor_mixins=(ProcessPoolForkMixin, Expand Down