[Python-Dev] Python 2.7: only Visual Studio 2008?

Christian Heimes lists at cheimes.de
Fri Sep 7 13:39:47 CEST 2012


Hi Martin,

I'm sorry for my delayed reply, my backlog grew rather large.

Am 25.08.2012 19:02, schrieb "Martin v. Löwis":
> Interesting point. This somewhat breaks the stable ABI, which does
> include three SetFromErrno functions. So I guess we need to warn users
> of the stable ABI against using these functions.

As far as I know it's only an issue an Windows. The stable ABI
documentation should mention that mixing C runtime libraries may cause
bugs and segfaults. As a Python core developer with some experience with
Windows I'm well aware of the possible issues. Others may fall for it as
the docs lack a clear warning -- or I wasn't able to find the warning
quickly.


> A solution would then be to add an additional set of functions which
> expect errno as a parameter, although this is quite some complication.
> Another solution is to introduce a Py_errno macro (and _Py_errno
> function) which exposes Python's view of errno, so code that might
> be confronted with this issue would write
> 
>   Py_errno = errno;
> 
> before calling any of these functions.

I like the Py_errno idea. It's simple and doesn't introduce three or
more new methods. Can we still implement the feature for 3.3.0 or is it
too late?


> Anything else that you are aware of?

AFAIK each CRT has its own thread local storage. But that's not an issue
for us as we already have an API for TLS access.

Christian


More information about the Python-Dev mailing list