You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee=Noneclosed_at=<Date2017-07-19.10:21:12.970>created_at=<Date2015-01-18.13:33:39.156>labels= ['library', 'performance']
title="multiprocessing pool.py doesn't close inqueue and outqueue pipes on termination"updated_at=<Date2017-07-19.10:21:12.967>user='https://bugs.python.org/shanip'
Multiprocessing pool.py gets SimpleQueue objects as inqueue and outqueue.
when it terminates, it doesn't call the close() method of the queues' readers and writers.
As a results, 4 file pipes leak in one pool termination.
Expected: The pool closes reader and writer pipes of the inqueue and outqueue when it terminates.
What did happen: the pool doesn't close the pipes. 4 pipes leak.
When I repeat the experiment calling p.close() after p.map returns, all that is left is the 9 pipes opened by the parent. All pipes are cleaned up after parent script exits.
@shani - could you please clarify how you were able to detect the leaking pipes?
I think this issue is mistaken. The reader and writer objects are closed automatically when they are destroyed (see Connection.__del__). The only thing that may lack is a way to close them more eagerly.
In any case, I'm closing as a duplicate of bpo-30966.
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: