summaryrefslogtreecommitdiff
path: root/ace/Service_Types.cpp
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>1997-10-14 06:29:46 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>1997-10-14 06:29:46 +0000
commit4c7e1a5cb938f532a96dd288defe33837221ffad (patch)
treef86045b445ac0f56025d49fac10ffbb9dfa280c4 /ace/Service_Types.cpp
parent848dfd868cf41b6eb909f7356f905be2b02f4a32 (diff)
downloadATCD-4c7e1a5cb938f532a96dd288defe33837221ffad.tar.gz
*** empty log message ***
Diffstat (limited to 'ace/Service_Types.cpp')
-rw-r--r--ace/Service_Types.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/ace/Service_Types.cpp b/ace/Service_Types.cpp
index 04b7b380592..c75b5bcb15d 100644
--- a/ace/Service_Types.cpp
+++ b/ace/Service_Types.cpp
@@ -52,8 +52,10 @@ ACE_Service_Type_Impl::fini (void) const
delete [] (char *) this->name_;
((ACE_Service_Type_Impl *) this)->name_ = 0;
+#if 0
if (ACE_BIT_ENABLED (this->flags_, ACE_Service_Type::DELETE_OBJ))
operator delete ((void *) this->object ()); // cast to remove const-ness
+#endif /* 0 */
if (ACE_BIT_ENABLED (this->flags_, ACE_Service_Type::DELETE_THIS))
delete (ACE_Service_Type_Impl *) this;
@@ -353,10 +355,21 @@ int
ACE_Service_Object_Type::fini (void) const
{
ACE_TRACE ("ACE_Service_Object_Type::fini");
+
const void *obj = this->object ();
+
ACE_Service_Object *so = (ACE_Service_Object *) obj;
+
if (so)
- so->fini ();
+ {
+ so->fini ();
+
+#if 1
+ if (ACE_BIT_ENABLED (this->flags_, ACE_Service_Type::DELETE_OBJ))
+ delete so;
+#endif /* 1 */
+ }
+
return ACE_Service_Type_Impl::fini ();
}