[Python-3000] io deadlock, use of RLock, issues 3618 & 3001 thoughts

Antoine Pitrou solipsis at pitrou.net
Thu Aug 21 12:09:44 CEST 2008


Gregory P. Smith <greg <at> krypto.org> writes:
> 
> http://bugs.python.org/issue3618 is a release blocker due to deadlock
> in the io library.
> 
> and the related C RLock implementation in
[etc.]


By the way, please note using an RLock will just solve the deadlock bug. It
won't make the behaviour of write() and friends absolutely correct if called
recursively, rather than lose or duplicate chunks of bytes. Those functions are
not meant to be reentrant at all.

Which means, perhaps another way of solving the bug would be to ensure tracing
is disabled when entering those functions. Are there cases of reentrancy apart
from tracing? signals and other asynchronous stuff perhaps?

Regards

Antoine.




More information about the Python-3000 mailing list