Index: main/ssl.c =================================================================== --- main/ssl.c (revision 375799) +++ main/ssl.c (working copy) @@ -68,6 +68,20 @@ } } +static void ssl_shutdown(void) +{ + int i; + ERR_remove_state(0); + ERR_free_strings(); + EVP_cleanup(); + CRYPTO_cleanup_all_ex_data(); + COMP_zlib_cleanup(); + for (i = 0; i < ssl_num_locks; i++) { + ast_mutex_destroy(&ssl_locks[i]); + } + ast_free(ssl_locks); +} + #endif /* HAVE_OPENSSL */ /*! @@ -96,6 +110,7 @@ } CRYPTO_set_locking_callback(ssl_lock); + ast_register_atexit(ssl_shutdown); #endif /* HAVE_OPENSSL */ return 0; }