On 2017-05-09 10:08 AM, Matt Caswell wrote:
I'm not sure why this makes a difference. The return value of dlclose() tells you whether there has been an error or not. Not whether the library has actually been removed from address space. Or am I missing your point?
dlclose() is returning an error and dlerror() reports that the library cannot be closed as it is still in use (from the leaked reference).
No. The whole point of OPENSSL_USE_NODELETE is to indicate that the library won't be unloaded until process exit because we've ensured that through some other mechanism (e.g. because we built it using "-znodelete" on Linux). We do not rely on the linux specific behaviour. If your platform doesn't have some other mechanism then you need to use the default "deliberate leak" approach.
Ok, misunderstood the intention of OPENSSL_USE_NODELETE, didn't realise it meant -znodelete.
Thanks, Nick. -- openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev