void TSSLSocketFactory::cleanupOpenSSL() { if (!initialized) { return; } initialized = false; #if (OPENSSL_VERSION_NUMBER < OPENSSL_VERSION_NO_THREAD_ID) CRYPTO_set_id_callback(NULL); #endif CRYPTO_set_locking_callback(NULL); CRYPTO_set_dynlock_create_callback(NULL); CRYPTO_set_dynlock_lock_callback(NULL); CRYPTO_set_dynlock_destroy_callback(NULL); CRYPTO_cleanup_all_ex_data(); ERR_free_strings(); EVP_cleanup(); ERR_remove_state(0); mutexes.reset(); }