• Victor Stinner's avatar
    py_getrandom(): getrandom() *can* return EINTR · 61d5aab9
    Victor Stinner yazdı
    See the latest version of getrandom() manual page:
    http://man7.org/linux/man-pages/man2/getrandom.2.html#NOTES
    
        The behavior when a call to getrandom() that is blocked while reading from
        /dev/urandom is interrupted by a signal handler depends on the
        initialization state of the entropy buffer and on the request size, buflen.
        If the entropy is not yet initialized, then the call will fail with the
        EINTR error.  If the entropy pool has been initialized and the request size
        is large (buflen > 256), the call either succeeds, returning a partially
        filled buffer, or fails with the error EINTR.  If the entropy pool has been
        initialized and the request size is small (buflen <= 256), then getrandom()
        will not fail with EINTR.  Instead, it will return all of the bytes that
        have been requested.
    
    Note: py_getrandom() calls getrandom() with flags=0.
    61d5aab9
random.c 10.3 KB