[issue26180] multiprocessing.util._afterfork_registry leak in threaded environment

Terry J. Reedy report at bugs.python.org
Thu Jun 13 11:47:23 EDT 2019


Terry J. Reedy <tjreedy at udel.edu> added the comment:

With master and Windows 10, the output looks like
(0, 61333912, <function ForkAwareThreadLock._reset at 0x03A783F0>): <multiprocessing.util.ForkAwareThreadLock object at 0x03A7E198>
(1, 63524512, <function ForkAwareLocal.__init__.<locals>.<lambda> at 0x03CA2940>): <multiprocessing.util.ForkAwareLocal object at 0x03C94EA0>
(2, 60787504, <function ProcessLocalSet.__init__.<locals>.<lambda> at 0x03CA2760>): ProcessLocalSet()
(5, 63524512, <function ForkAwareLocal.__init__.<locals>.<lambda> at 0x03CA2C60>): <multiprocessing.util.ForkAwareLocal object at 0x03C94EA0>
... <8 more lines like the two with ForkAwareLocal.__init__....>

I am not familiar with multiprocessing Managers and the doc is not completely clear to me.  Does bug3.py only run in one process or does it result in multiple processes?  If the latter, I expect it would need an "if __name__ == '__main__':" clause, at least on Windows.  (Milan, I should have asked what OS you used, as mp has OS-specific behaviors.)
(https://docs.python.org/3/library/multiprocessing.html#the-spawn-and-forkserver-start-methods, Safe importing of main module)

----------
versions: +Python 3.9 -Python 2.7, Python 3.5, Python 3.6

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue26180>
_______________________________________


More information about the Python-bugs-list mailing list