Giovanni Bajo <giovannib...@gmail.com> added the comment:

If there's agreement that the general problem is unsolvable (so fork and 
threads just don't get along with each other), what we could attempt is trying 
to limit the side effects in the standard library, so that fewest users as 
possible are affected by this problem.

For instance, having deadlocks just because of print statements sounds like a 
bad QoI that we could attempt to improve. Is there a reason while BufferedIO 
needs to hold its internal data-structure lock (used to make it thread-safe) 
while it's doing I/O and releasing the GIL? I would think that it's feasible to 
patch it so that its internal lock is only used to synchronize accesses to the 
internal data structures, but it is never held while I/O is performed (and thus 
the GIL is released -- at which point, if another threads forks, the problem 
appears).

----------
nosy: +Giovanni.Bajo

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

Reply via email to