summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Huston <shuston@riverace.com>2010-06-17 19:50:15 +0000
committerSteve Huston <shuston@riverace.com>2010-06-17 19:50:15 +0000
commit8e2767ee9cc89d352067b358f56e2e075275ff09 (patch)
treea746a15b682090ce0d89f5c9f0d5faafc174c794
parentd0805cc60eed3a0e5e0bb6b2026c69c2b86b797d (diff)
downloadATCD-8e2767ee9cc89d352067b358f56e2e075275ff09.tar.gz
ChangeLogTag:Thu Jun 17 19:47:58 UTC 2010 Steve Huston <shuston@riverace.com>
-rw-r--r--ACE/ChangeLog8
-rw-r--r--ACE/ace/DLL_Manager.cpp8
2 files changed, 16 insertions, 0 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog
index 073b7fcc71d..058948efb5b 100644
--- a/ACE/ChangeLog
+++ b/ACE/ChangeLog
@@ -1,3 +1,11 @@
+Thu Jun 17 19:47:58 UTC 2010 Steve Huston <shuston@riverace.com>
+
+ * ace/DLL_Manager.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.
+ Proposed fix for Bugzilla #3856.
+
Thu Jun 17 19:01:32 UTC 2010 Steve Huston <shuston@riverace.com>
* tests/Service_Config_Test.cpp: Added a new test case,
diff --git a/ACE/ace/DLL_Manager.cpp b/ACE/ace/DLL_Manager.cpp
index e10f48243cd..eec938e34de 100644
--- a/ACE/ace/DLL_Manager.cpp
+++ b/ACE/ace/DLL_Manager.cpp
@@ -14,10 +14,18 @@
#include "ace/OS_NS_dlfcn.h"
#include "ace/OS_NS_string.h"
+#include "ace/ACE_export.h"
+
ACE_RCSID (ace,
DLL_Manager,
"DLL_Manager.cpp,v 4.23 2003/11/05 23:30:46 shuston Exp")
+extern "C" ACE_Export int
+_get_dll_unload_policy()
+{
+ return ACE_DLL_UNLOAD_POLICY_LAZY;
+}
+
/******************************************************************/
ACE_BEGIN_VERSIONED_NAMESPACE_DECL