While it is possible to make a Valgrind clean (as in memory leaks) executable, that loads OpenSSL DSO/DLLs exactly once during the executable lifetime.

I'm not sure it has ever been a feasible goal to make OpenSSL DSO/DLLs able to be unloaded (with the aim of subsequently loading). Let alone a goal that this function of dynamic-linking is claimed to be supported by OpenSSL in its documentation.


I won't dispute it is a worthy goal of any DSO to be compliant with use of dlunload() but I see wider issues needing resolution at the same time. For a start doesn't there need to be a mechanism where a superior-executable can ask the DSO if it is ready to unload, maybe there are hooks in dlunload() to inquire on this.

This ignores the nice to have features of:
 * Exposed reference counters for dlopen to the DSO itself
 * Ability for a DSO to say, you can never unload me


Maybe these problem are already solved on the platforms you are working with (FreeBSD / OpenSolaris) and I'd certainly like to hear about that. As glibc/linux takes a somewhat different stance.


Darryl
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to