summaryrefslogtreecommitdiff
path: root/ace/Service_Config.cpp
diff options
context:
space:
mode:
authordoccvs <doccvs@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-08-30 05:52:20 +0000
committerdoccvs <doccvs@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-08-30 05:52:20 +0000
commitbfbd9ca1304e2d624cfbba52cc53ebf82f058128 (patch)
tree4c0b4392734620bb5abb97c3a2ad1270aa624f02 /ace/Service_Config.cpp
parent25c34ca0da24d1859c194cc2a0472e918d35c93f (diff)
downloadATCD-bfbd9ca1304e2d624cfbba52cc53ebf82f058128.tar.gz
ChangeLogTag:Thu Aug 30 00:42:41 2001 Christopher Kohlhoff <chris@kohlhoff.com>
Diffstat (limited to 'ace/Service_Config.cpp')
-rw-r--r--ace/Service_Config.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/ace/Service_Config.cpp b/ace/Service_Config.cpp
index 876c0cc97a2..51ce466701e 100644
--- a/ace/Service_Config.cpp
+++ b/ace/Service_Config.cpp
@@ -341,22 +341,23 @@ ACE_Service_Config::initialize (const ACE_Service_Type *sr,
ACE_LIB_TEXT ("opening dynamic service %s\n"),
sr->name ()));
- if (ACE_Service_Repository::instance ()->insert (sr) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- ACE_LIB_TEXT ("insertion failed, %p\n"),
- sr->name ()),
- -1);
- else if (sr->type ()->init (args.argc (),
- args.argv ()) == -1)
+ if (sr->type ()->init (args.argc (),
+ args.argv ()) == -1)
{
ACE_ERROR ((LM_ERROR,
ACE_LIB_TEXT ("dynamic initialization failed for %s\n"),
sr->name ()));
- ACE_Service_Repository::instance ()->remove (sr->name ());
return -1;
}
else
- return 0;
+ {
+ if (ACE_Service_Repository::instance ()->insert (sr) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_LIB_TEXT ("insertion failed, %p\n"),
+ sr->name ()),
+ -1);
+ return 0;
+ }
}
int