summaryrefslogtreecommitdiff
path: root/ace/Service_Repository.cpp
diff options
context:
space:
mode:
authordhinton <dhinton@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-10-23 17:38:53 +0000
committerdhinton <dhinton@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-10-23 17:38:53 +0000
commite0518779ed8d806fd06f16c05b4ffa152d19301a (patch)
tree337f9b0c464bce2786c86b131e1994ad97b08181 /ace/Service_Repository.cpp
parent77f5597541a3a605edb545f030b892c1e1d55f5d (diff)
downloadATCD-e0518779ed8d806fd06f16c05b4ffa152d19301a.tar.gz
ChangeLogTag:Wed Oct 23 17:20:18 UTC 2002 Don Hinton <dhinton@ieee.org>
Diffstat (limited to 'ace/Service_Repository.cpp')
-rw-r--r--ace/Service_Repository.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/ace/Service_Repository.cpp b/ace/Service_Repository.cpp
index 21e7c47c6e6..f6a1e3ce1f7 100644
--- a/ace/Service_Repository.cpp
+++ b/ace/Service_Repository.cpp
@@ -128,6 +128,7 @@ ACE_Service_Repository::fini (void)
{
ACE_TRACE ("ACE_Service_Repository::fini");
ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, this->lock_, -1));
+ int retval = 0;
if (this->service_vector_ != 0)
{
@@ -147,11 +148,12 @@ ACE_Service_Repository::fini (void)
ACE_Service_Type *s =
ACE_const_cast (ACE_Service_Type *,
this->service_vector_[i]);
- s->fini ();
+ // Collect errors.
+ retval += s->fini ();
}
}
- return 0;
+ return (retval == 0) ? 0 : -1;
}
// Close down all the services.
@@ -297,8 +299,7 @@ ACE_Service_Repository::resume (const ACE_TCHAR name[],
if (i == -1)
return -1;
- this->service_vector_[i]->resume ();
- return 0;
+ return this->service_vector_[i]->resume ();
}
// Suspend a service so that it will not be considered active under
@@ -315,8 +316,7 @@ ACE_Service_Repository::suspend (const ACE_TCHAR name[],
if (i == -1)
return -1;
- this->service_vector_[i]->suspend ();
- return 0;
+ return this->service_vector_[i]->suspend ();
}
// Completely remove a <name> entry from the Repository and