Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
-
None
Description
As seen in LOGCXX-430 and LOGCXX-322, making sure that when an application terminates earlier than expected we don't crash is rather hard to do.
I came across this solution when researching this problem:
https://stackoverflow.com/a/470545/624483
My thought is that we create something like a log4cxx::Globals class, which contains a smart pointer to everything that must be kept alive before the library can safely be unloaded. In each thread, you would do something like:
GlobalsPtr globals = log4cxx::globals;
thus ensuring that the destructor can't run before all of the threads are stopped. This would be up to the user of the library.
Attachments
Issue Links
- relates to
-
LOGCXX-322 Crashes on exit from multithreaded program using log4cxx
- Resolved