Commit 962bdeab authored by Dave Chevell's avatar Dave Chevell Committed by Pablo Galindo

bpo-35715: Liberate return value of _process_worker (GH-11514)

ProcessPoolExecutor workers will hold the return value of their last task in memory until the next task is received. Since the return value has already been propagated to the parent process's Future (or has been discarded by this point), the object can be safely released.
parent 9c68543f
......@@ -235,6 +235,7 @@ def _process_worker(call_queue, result_queue, initializer, initargs):
_sendback_result(result_queue, call_item.work_id, exception=exc)
else:
_sendback_result(result_queue, call_item.work_id, result=r)
del r
# Liberate the resource as soon as possible, to avoid holding onto
# open files or shared memory that is not needed anymore
......
Librates the return value of a ProcessPoolExecutor _process_worker after it's no longer needed to free memory
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment