summaryrefslogtreecommitdiffstats
path: root/NOTES-NONSTOP.md
diff options
context:
space:
mode:
authorRandall S. Becker <randall.becker@nexbridge.ca>2024-01-25 22:11:27 +0000
committerTodd Short <todd.short@me.com>2024-02-01 20:26:42 -0500
commit99fb31c167e322186c6f576cfaa8f433f4fed117 (patch)
treefd3ac31732c03fc5d2d3b535521a9f7d6112229a /NOTES-NONSTOP.md
parentafb19f07aecc84998eeea56c4d65f5e0499abb5a (diff)
Add atexit configuration option to using atexit() in libcrypto at build-time.
This fixes an issue with a mix of atexit() usage in DLL and statically linked libcrypto that came out in the test suite on NonStop, which has slightly different DLL unload processing semantics compared to Linux. The change allows a build configuration to select whether to register OPENSSL_cleanup() with atexit() or not, so avoid situations where atexit() registration causes SIGSEGV. INSTALL.md and CHANGES.md have been modified to include and describe this option. The no-atexit option has been added to .github/workflows/run-checker-daily.yml. Fixes: #23135 Signed-of-by: Randall S. Becker <randall.becker@nexbridge.ca> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Todd Short <todd.short@me.com> (Merged from https://github.com/openssl/openssl/pull/23394)
Diffstat (limited to 'NOTES-NONSTOP.md')
-rw-r--r--NOTES-NONSTOP.md8
1 files changed, 7 insertions, 1 deletions
diff --git a/NOTES-NONSTOP.md b/NOTES-NONSTOP.md
index 65bfc1087d..6cf12042d5 100644
--- a/NOTES-NONSTOP.md
+++ b/NOTES-NONSTOP.md
@@ -57,7 +57,13 @@ relating to `atexit()` processing when a shared library is unloaded and when
the program terminates. This limitation applies to all OpenSSL shared library
components.
-A resolution to this situation is under investigation.
+A control has been added as of 3.3.x to disable calls to `atexit()` within the
+`libcrypto` builds (specifically in `crypto/init.c`). This switch can be
+controlled using `disable-atexit` or `enable-atexit`, and is disabled by default
+for NonStop builds. If you need to have `atexit()` functionality, set
+`enabled-atexit` when configuring OpenSSL to enable the `atexit()` call to
+register `OPENSSL_cleanup()` automatically. Preferably, you can explicitly call
+`OPENSSL_cleanup()` from your application.
About Prefix and OpenSSLDir
---------------------------