Robert Middleton created LOGCXX-532:
---------------------------------------

             Summary: Static objects and deleting
                 Key: LOGCXX-532
                 URL: https://issues.apache.org/jira/browse/LOGCXX-532
             Project: Log4cxx
          Issue Type: Improvement
            Reporter: Robert Middleton
            Assignee: Robert Middleton


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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to