spresse1 added the comment:

The difference is that nonfunctional.py does not pass the write end of the 
parent's pipe to the child.  functional.py does, and closes it immediately 
after breaking into a new process.  This is what you mentioned to me as a 
workaround.  Corrected code (for indentation) attached.

Why SHOULDN'T I expect this pipe to be closed automatically in the child?  Per 
the documentation for multiprocessing.Connection.close():
"This is called automatically when the connection is garbage collected."

The write end of that pipe goes out of scope and has no references in the child 
thread.  Therefore, per my understanding, it should be garbage collected (in 
the child thread).  Where am I wrong about this?

----------
Added file: http://bugs.python.org/file30449/bugon.tar.gz

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue18120>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to