summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Service.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/Service.cpp')
-rw-r--r--cpp/src/Ice/Service.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/cpp/src/Ice/Service.cpp b/cpp/src/Ice/Service.cpp
index a25587f1c50..66ca74b33f2 100644
--- a/cpp/src/Ice/Service.cpp
+++ b/cpp/src/Ice/Service.cpp
@@ -1588,7 +1588,8 @@ Ice::Service::serviceMain(int argc, char* argv[])
DWORD status = EXIT_FAILURE;
try
{
- if(start(argc, args))
+ int tmpStatus = EXIT_FAILURE;
+ if(start(argc, args, tmpStatus))
{
trace("Service started successfully.");
@@ -1611,6 +1612,10 @@ Ice::Service::serviceMain(int argc, char* argv[])
status = EXIT_SUCCESS;
}
}
+ else
+ {
+ status = tmpStatus;
+ }
}
catch(const IceUtil::Exception& ex)
{