diff options
author | nanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-04-17 17:47:13 +0000 |
---|---|---|
committer | nanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-04-17 17:47:13 +0000 |
commit | d32b99f030555fd9aacd7d469751684edb449b9a (patch) | |
tree | 6ce59d94f6dafd61d66c69e6bb8a90291e84b017 /ace/Svc_Conf.y | |
parent | ce82c9c0fe24e0c8aaebaf33c1374246404d534c (diff) | |
download | ATCD-d32b99f030555fd9aacd7d469751684edb449b9a.tar.gz |
ACE_FACTORY changes. Please see ChangeLog for details
Diffstat (limited to 'ace/Svc_Conf.y')
-rw-r--r-- | ace/Svc_Conf.y | 11 |
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: |