Charles-François Natali added the comment:

Code relying on garbage collection/shutdown hook to flush files is borked:
- it's never been guaranteed by the Python specification (neither does 
Java/C#...)
- even with an implementation based on C stdio streams, streams won't get 
flushed in case of _exit()/abort()/asynchronous signal

Furthermore, I think it's inherently unsafe: in a multi-threaded program, 
flushing requires locking, and doing this at shutdown is a recipe for 
deadlock/arbitrary delay (image you have a daemon thread currently holding the 
lock, e.g. for stdout).

In short, that's an application bug to me.

----------
nosy: +neologix

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

Reply via email to