Hi, 2010/8/31 Antoine Pitrou <solipsis@pitrou.net>:
David Cournapeau <cournape@gmail.com> wrote:
As far as IO is concerned, FILE* is just a special case of a more generic issue, though, so maybe this could be a bit reworded. For example, file descriptor cannot be shared between runtimes either.
Er, really?
Yes, on Windows, file descriptors returned by open() or dup() cannot be shared between runtimes. What can be safely shared is the underlying "handle", you can get it with the _get_osfhandle() function.
So it means that, for example, a FileIO object couldn't be shared between runtimes either? How about a socket object? Do you want to forbid FileIO and socket objects as part of the API?
Python objects don't have this concern: all methods of FileIO are implemented in a single file (fileio.c), linked to a single C runtime.
Again, I propose that FILE* functions are allowed in the API, but their use discouraged in the docs (with proper explanations from those who know how to word them).
IMO the warnings you'd write there would be similar to the motivations of PEP 384. -- Amaury Forgeot d'Arc