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 (PyErr_CheckSignals()) {
return -1;
if (raise) {
if (PyErr_CheckSignals()) {
return -1;
}
}
/* retry getrandom() */
/* retry getrandom() if it was interrupted by a signal */
continue;
}