diff options
author | George Kadianakis <desnacked@gmail.com> | 2011-11-22 15:11:40 +0100 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2011-11-30 13:17:39 -0500 |
commit | a708e85236d17abaf16da4c455af8a776ad2f7b9 (patch) | |
tree | 0ef46a55863422812d6a2b8af2f2f3ba812ef033 /src/common | |
parent | 29db095a35db715f1d84aacae24f00b54aad2507 (diff) | |
download | tor-a708e85236d17abaf16da4c455af8a776ad2f7b9.tar.gz tor-a708e85236d17abaf16da4c455af8a776ad2f7b9.zip |
Move crypto_global_cleanup() to the bottom of crypto.c.
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/crypto.c | 63 |
1 files changed, 32 insertions, 31 deletions
diff --git a/src/common/crypto.c b/src/common/crypto.c index ebaa0122fd..a9d8b04e60 100644 --- a/src/common/crypto.c +++ b/src/common/crypto.c @@ -291,37 +291,6 @@ crypto_thread_cleanup(void) ERR_remove_state(0); } -/** Uninitialize the crypto library. Return 0 on success, -1 on failure. - */ -int -crypto_global_cleanup(void) -{ - EVP_cleanup(); - ERR_remove_state(0); - ERR_free_strings(); - -#ifndef DISABLE_ENGINES - ENGINE_cleanup(); -#endif - - CONF_modules_unload(1); - CRYPTO_cleanup_all_ex_data(); -#ifdef TOR_IS_MULTITHREADED - if (_n_openssl_mutexes) { - int n = _n_openssl_mutexes; - tor_mutex_t **ms = _openssl_mutexes; - int i; - _openssl_mutexes = NULL; - _n_openssl_mutexes = 0; - for (i=0;i<n;++i) { - tor_mutex_free(ms[i]); - } - tor_free(ms); - } -#endif - return 0; -} - /** used by tortls.c: wrap an RSA* in a crypto_pk_env_t. */ crypto_pk_env_t * _crypto_new_pk_env_rsa(RSA *rsa) @@ -3090,5 +3059,37 @@ setup_openssl_threading(void) return 0; } #endif + +/** Uninitialize the crypto library. Return 0 on success, -1 on failure. + */ +int +crypto_global_cleanup(void) +{ + EVP_cleanup(); + ERR_remove_state(0); + ERR_free_strings(); + +#ifndef DISABLE_ENGINES + ENGINE_cleanup(); +#endif + + CONF_modules_unload(1); + CRYPTO_cleanup_all_ex_data(); +#ifdef TOR_IS_MULTITHREADED + if (_n_openssl_mutexes) { + int n = _n_openssl_mutexes; + tor_mutex_t **ms = _openssl_mutexes; + int i; + _openssl_mutexes = NULL; + _n_openssl_mutexes = 0; + for (i=0;i<n;++i) { + tor_mutex_free(ms[i]); + } + tor_free(ms); + } +#endif + return 0; +} + /** @} */ |