diff options
Diffstat (limited to 'ace/Framework_Component_T.cpp')
-rw-r--r-- | ace/Framework_Component_T.cpp | 12 |
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 (); } |