Although OpenSSL has an initialization routine (SSL_library_init), it does not have a corresponding cleanup routine (SSL_library_cleanup). It does have a few cleanup routines (e.g. EVP_cleanup, OBJ_cleanup, etc.) but no overall cleanup function.
This has been an issue for us when running OpenSSL on NetWare. Although NetWare will clean up the resources when a process goes away, it does complain about unfreed resources before doing so. It is not clear if there is a proper way to clean up the library resources when you are done with them. For instance, you can clean up any entries in the error queue for a thread by calling ERR_remove_state(). However, there is no way to actually clean up and free the queue itself. We added a routine to do that on NetWare, but there is some reluctance to accept it into the main body of code because it would naturally be a very dangerous function if called inappropriately. What are people's thoughts on the matter? Should OpenSSL formalize a mechanism for cleaning up global library resources? Or is it sufficient to let the OS do that work? Verdon Walker (801) 861-2633 [EMAIL PROTECTED] Novell, Inc., the leading provider of information solutions http://www.novell.com ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]