Hallvard B Furuseth <h.b.furus...@usit.uio.no> added the comment: Terry J. Reedy writes: > There is one relocation of memory freeing
Modules/timemodule.c does '#if,if(..errno..)' after PyMem_Free(outbuf), which can overwrite the desired errno. Instead of reading errno into a temporary, I moved the free into both branches taken by the #if,if(). > and the additions of > + if (res >= 0) > + break; > which I cannot evaluate. errno is only needed after an error., so I moved 'res < 0' out of the 'while'. if (res == MP_EXCEPTION_HAS_BEEN_SET) break; } while (res < 0 && errno == EINTR && !PyErr_CheckSignals()); --> if (res == MP_EXCEPTION_HAS_BEEN_SET) break; if (! (res < 0)) break; } while (errno == EINTR && !PyErr_CheckSignals()); --> if (res >= 0) break; err = errno; if (res == MP_EXCEPTION_HAS_BEEN_SET) break; } while (err == EINTR && !PyErr_CheckSignals()); ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue10350> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com