diff options
Diffstat (limited to 'random/random-csprng.c')
-rw-r--r-- | random/random-csprng.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/random/random-csprng.c b/random/random-csprng.c index 0228a1f0..1664b708 100644 --- a/random/random-csprng.c +++ b/random/random-csprng.c @@ -352,10 +352,12 @@ void _gcry_rngcsprng_close_fds (void) { lock_pool (); -#if USE_RNDLINUX +#if USE_RNDGETENTROPY + _gcry_rndgetentropy_gather_random (NULL, 0, 0, 0); +#elif USE_RNDLINUX _gcry_rndlinux_gather_random (NULL, 0, 0, 0); - pool_filled = 0; /* Force re-open on next use. */ #endif + pool_filled = 0; /* Force re-open on next use. */ unlock_pool (); } @@ -1204,6 +1206,11 @@ getfnc_gather_random (void))(void (*)(const void*, size_t, int (*fnc)(void (*)(const void*, size_t, enum random_origins), enum random_origins, size_t, int); +#if USE_RNDGETENTROPY + fnc = _gcry_rndgetentropy_gather_random; + return fnc; +#endif + #if USE_RNDLINUX if ( !access (NAME_OF_DEV_RANDOM, R_OK) && !access (NAME_OF_DEV_URANDOM, R_OK)) |