[Python-Dev] PEP 384 status

Antoine Pitrou solipsis at pitrou.net
Wed Sep 1 14:54:51 CEST 2010


Le mercredi 01 septembre 2010 à 22:43 +1000, Nick Coghlan a écrit :
> On Wed, Sep 1, 2010 at 8:42 AM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> > After all, we don't usually try to workaround platform-specific
> > bugs (not as a low level such as the C API level); at worse, we mention
> > their existence in the docs.
> 
> You persist in viewing the allowance of multiple C runtimes in a
> single process as a bug instead of a feature.

No, I view the fact that you can't share FILE structures as a bug.
I'm sure there would be ways to have multiple C runtimes loaded in
memory with compatible FILE structures (for example, by versioning the
FILE structure itself, or by embedding inside the FILE structure a set
of function pointers, so that fread(), fwrite() and friends always get
redirected to the proper implementation).


Please consider this: even without relying on PEP 384, using FILE*
is /already/ dangerous; because you might compile an extension with a
different compiler version than Python was compiled with. So, if we were
following you, we should rip out PyObject_Print() of the whole C API,
not only the limited subset which is defined by PEP 384.

(now I have nothing against completely ripping out PyObject_Print() if
we find out that it's not really useful...)

Regards

Antoine.




More information about the Python-Dev mailing list