Issue #27776: _PyRandom_Init() doesn't call PyErr_CheckSignals() anymore

Modify py_getrandom() to not call PyErr_CheckSignals() if raise is zero.
_PyRandom_Init() is called very early in the Python initialization, so it's
safer to not call PyErr_CheckSignals().
This commit is contained in:
Victor Stinner 2016-08-16 15:19:09 +02:00
parent 4bad3b622e
commit cecdd9634b

View file

@ -191,10 +191,13 @@ py_getrandom(void *buffer, Py_ssize_t size, int raise)
} }
if (errno == EINTR) { if (errno == EINTR) {
if (raise) {
if (PyErr_CheckSignals()) { if (PyErr_CheckSignals()) {
return -1; return -1;
} }
/* retry getrandom() */ }
/* retry getrandom() if it was interrupted by a signal */
continue; continue;
} }