if (rand_nonce_lock == NULL)
goto err2;
+ if (!rand_pool_init())
+ goto err3;
+
return 1;
+err3:
+ rand_pool_cleanup();
err2:
CRYPTO_THREAD_lock_free(rand_meth_lock);
rand_meth_lock = NULL;
if (meth != NULL && meth->cleanup != NULL)
meth->cleanup();
+ rand_pool_cleanup();
RAND_set_rand_method(NULL);
#ifndef OPENSSL_NO_ENGINE
CRYPTO_THREAD_lock_free(rand_engine_lock);
rand_nonce_lock = NULL;
}
+/*
+ * RAND_close_seed_files() ensures that any seed file decriptors are
+ * closed after use.
+ */
+void RAND_keep_random_devices_open(int keep)
+{
+ rand_pool_keep_random_devices_open(keep);
+}
+
/*
* RAND_poll() reseeds the default RNG using random input
*