diff options
Diffstat (limited to 'cpp/src/Ice/Service.cpp')
-rw-r--r-- | cpp/src/Ice/Service.cpp | 7 |
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) { |