summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--ace/Logging_Strategy.cpp9
2 files changed, 17 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 5a229e70e6e..3c4ec8be740 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Fri Jun 18 19:58:55 UTC 2010 Steve Huston <shuston@riverace.com>
+
+ * ace/Logging_Strategy.cpp: Add _get_dll_unload_policy() function that
+ returns ACE_DLL_UNLOAD_POLICY_LAZY; this prevents the DLL_Manager
+ from running down ACE framework components just from unloading
+ a service contained in ACE itself.
+ Fix for Bugzilla #3856.
+
Fri Apr 23 09:38:35 EDT 2010 Steve Huston <shuston@riverace.com>
* ACE version 5.7a released.
diff --git a/ace/Logging_Strategy.cpp b/ace/Logging_Strategy.cpp
index f4270527e02..29047ec5ffa 100644
--- a/ace/Logging_Strategy.cpp
+++ b/ace/Logging_Strategy.cpp
@@ -3,6 +3,7 @@
#include "ace/Logging_Strategy.h"
#include "ace/Service_Config.h"
#include "ace/ACE.h"
+#include "ace/ACE_export.h"
#include "ace/Get_Opt.h"
// FUZZ: disable check_for_streams_include
@@ -564,3 +565,11 @@ ACE_END_VERSIONED_NAMESPACE_DECL
// Logging_Strategy.
ACE_FACTORY_DEFINE (ACE, ACE_Logging_Strategy)
+
+// _get_dll_unload_policy() prevents ACE from being unloaded and having its
+// framework components run down if/when the Logging Strategy is unloaded.
+extern "C" ACE_Export int
+_get_dll_unload_policy()
+{
+ return ACE_DLL_UNLOAD_POLICY_LAZY;
+}