summaryrefslogtreecommitdiff
path: root/ace/Framework_Component_T.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ace/Framework_Component_T.cpp')
-rw-r--r--ace/Framework_Component_T.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/ace/Framework_Component_T.cpp b/ace/Framework_Component_T.cpp
index 96b46cff9bb..82ee68f2a5a 100644
--- a/ace/Framework_Component_T.cpp
+++ b/ace/Framework_Component_T.cpp
@@ -12,8 +12,8 @@
ACE_RCSID(ace, Framework_Component_T, "$Id$")
template <class Concrete>
-ACE_Framework_Component_T<Concrete>::ACE_Framework_Component_T (const Concrete *concrete)
- : ACE_Framework_Component ((const void *) concrete)
+ACE_Framework_Component_T<Concrete>::ACE_Framework_Component_T (Concrete *concrete)
+ : ACE_Framework_Component ((void *) concrete, concrete->dll_name ())
{
ACE_TRACE ("ACE_Framework_Component_T<Concrete>::ctor");
}
@@ -22,6 +22,14 @@ template <class Concrete>
ACE_Framework_Component_T<Concrete>::~ACE_Framework_Component_T (void)
{
ACE_TRACE ("ACE_Framework_Component_T<Concrete>::~ACE_Framework_Component_T");
+ // @todo This is a bug. It shouldn't be closed here. Need to add a close method.
+ //Concrete::close_singleton ();
+}
+
+template <class Concrete> void
+ACE_Framework_Component_T<Concrete>::close_singleton (void)
+{
+ ACE_TRACE ("ACE_Framework_Component_T<Concrete>::close");
Concrete::close_singleton ();
}