[issue10350] errno is read too late
Hallvard B Furuseth
report at bugs.python.org
Mon Nov 8 09:48:18 CET 2010
New submission from Hallvard B Furuseth <h.b.furuseth at usit.uio.no>:
errno is sometimes read too late after the error: After another call
may have modified it. Here's a patch against py3k. Most of it or a
variant applies to 2.7 too, but I haven't really looked at that.
I've not looked at math code, where I don't even know what sets errno.
There might also be a late errno read at Modules/_ctypes/callproc.c
line 794: "space = errno;". Does it want the errno from before
_ctypes_get_errobj()? I'm unsure what's going on there.
Modules/_multiprocessing/semaphore.c doesn't need the patch's extra
variable, it can instead be rearranged with the commented-out patch.
title: errno is read too late
versions: Python 2.7, Python 3.1, Python 3.2
Added file: http://bugs.python.org/file19539/late-errno.diff
Python tracker <report at bugs.python.org>
More information about the Python-bugs-list