static void drbg_cleanup(void)
{
    DRBG_CTX *dctx = RAND_DRBG_get_default();
    CRYPTO_THREAD_write_lock(dctx->lock);
    RAND_DRBG_uninstantiate(dctx);
    CRYPTO_THREAD_unlock(dctx->lock);
}
['static void drbg_cleanup(void)\n{\n    DRBG_CTX *dctx = RAND_DRBG_get_default();\n    CRYPTO_THREAD_write_lock(dctx->lock);\n    RAND_DRBG_uninstantiate(dctx);\n    CRYPTO_THREAD_unlock(dctx->lock);\n}', 'DRBG_CTX *RAND_DRBG_get_default(void)\n{\n    if (!RUN_ONCE(&ossl_drbg_init, do_ossl_drbg_init))\n        return NULL;\n    return &ossl_drbg;\n}', 'int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void))\n{\n    if (pthread_once(once, init) != 0)\n        return 0;\n    return 1;\n}']