summaryrefslogtreecommitdiff
path: root/ace/Svc_Conf.y
diff options
context:
space:
mode:
authornanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-04-17 17:47:13 +0000
committernanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-04-17 17:47:13 +0000
commitd32b99f030555fd9aacd7d469751684edb449b9a (patch)
tree6ce59d94f6dafd61d66c69e6bb8a90291e84b017 /ace/Svc_Conf.y
parentce82c9c0fe24e0c8aaebaf33c1374246404d534c (diff)
downloadATCD-d32b99f030555fd9aacd7d469751684edb449b9a.tar.gz
ACE_FACTORY changes. Please see ChangeLog for details
Diffstat (limited to 'ace/Svc_Conf.y')
-rw-r--r--ace/Svc_Conf.y11
1 files changed, 7 insertions, 4 deletions
diff --git a/ace/Svc_Conf.y b/ace/Svc_Conf.y
index 1979ca959c4..e4fc9bcb441 100644
--- a/ace/Svc_Conf.y
+++ b/ace/Svc_Conf.y
@@ -198,12 +198,13 @@ svc_location
u_int flags
= ACE_Service_Type::DELETE_THIS
| ($3->dispose () == 0 ? 0 : ACE_Service_Type::DELETE_OBJ);
- void *sym = $3->symbol ();
+ ACE_Service_Object_Exterminator gobbler;
+ void *sym = $3->symbol (&gobbler);
if (sym != 0)
{
ACE_Service_Type_Impl *stp
- = ace_create_service_type (ASYS_WIDE_STRING ($1), $2, sym, flags);
+ = ace_create_service_type (ASYS_WIDE_STRING ($1), $2, sym, flags, gobbler);
$$ = new ACE_Service_Type (ASYS_WIDE_STRING ($1), stp, $3->handle (), $4);
}
else
@@ -343,7 +344,8 @@ ACE_Service_Type_Impl *
ace_create_service_type (const ASYS_TCHAR *name,
int type,
void *symbol,
- u_int flags)
+ u_int flags,
+ ACE_Service_Object_Exterminator gobbler = 0)
{
ACE_Service_Type_Impl *stp = 0;
@@ -356,7 +358,8 @@ ace_create_service_type (const ASYS_TCHAR *name,
case ACE_SVC_OBJ_T:
ACE_NEW_RETURN (stp,
ACE_Service_Object_Type ((ACE_Service_Object *) symbol,
- ASYS_WIDE_STRING (name), flags),
+ ASYS_WIDE_STRING (name), flags,
+ gobbler),
0);
break;
case ACE_MODULE_T: