Skip to content
Commit 4af9f7fe authored by Matt Caswell's avatar Matt Caswell
Browse files

Ensure that libcrypto and libssl do not unload until the process exits



Because we use atexit() to cleanup after ourselves, this will cause a
problem if we have been dynamically loaded and then unloaded again: the
atexit() handler may no longer be there.

Most modern atexit() implementations can handle this, however there are
still difficulties if libssl gets unloaded before libcrypto, because of
the atexit() callback that libcrypto makes to libssl.

The most robust solution seems to be to ensure that libcrypto and libssl
never unload. This is done by simply deliberately leaking a dlopen()
reference to them.

Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
(cherry picked from commit 5836780f)
parent f722f18e
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment