summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2011-05-10 17:56:04 +0200
committerJose <jose@zeroc.com>2011-05-10 17:56:04 +0200
commit7a3594501d3210505143d1071d161dd99b68567d (patch)
tree4f03997a2a690cf1fcd7412c55f094ba8fd8b20b /cpp/src
parent4920 - Glacier2 Application _application pointer not initialized (diff)
downloadice-7a3594501d3210505143d1071d161dd99b68567d.tar.bz2
ice-7a3594501d3210505143d1071d161dd99b68567d.tar.xz
ice-7a3594501d3210505143d1071d161dd99b68567d.zip
4923 - Glacier2 Application Ice.Nohup will not work
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/Application.cpp35
1 files changed, 12 insertions, 23 deletions
diff --git a/cpp/src/Ice/Application.cpp b/cpp/src/Ice/Application.cpp
index b48c539ee6b..341f24b5b66 100644
--- a/cpp/src/Ice/Application.cpp
+++ b/cpp/src/Ice/Application.cpp
@@ -378,14 +378,22 @@ Ice::Application::main(int argc, char* argv[], const InitializationData& initial
return EXIT_FAILURE;
}
int status;
-
- IceInternal::Application::_application = this;
-
+
//
// We parse the properties here to extract Ice.ProgramName.
//
InitializationData initData = initializationData;
initData.properties = createProperties(argc, argv, initData.properties, initData.stringConverter);
+
+ IceInternal::Application::_appName = initData.properties->getPropertyWithDefault("Ice.ProgramName",
+ IceInternal::Application::_appName);
+
+ //
+ // Used by destroyOnInterruptCallback and shutdownOnInterruptCallback.
+ //
+ _nohup = initData.properties->getPropertyAsInt("Ice.Nohup") > 0;
+
+ IceInternal::Application::_application = this;
if(IceInternal::Application::_signalPolicy == HandleSignals)
{
@@ -620,27 +628,13 @@ Ice::Application::interrupted()
}
int
-Ice::Application::doMain(int argc, char* argv[], const InitializationData& initializationData)
+Ice::Application::doMain(int argc, char* argv[], const InitializationData& initData)
{
int status;
try
{
IceInternal::Application::_interrupted = false;
- IceInternal::Application::_appName = "";
- if(argc > 0)
- {
- IceInternal::Application::_appName = argv[0];
- }
-
- //
- // We parse the properties here to extract Ice.ProgramName.
- //
- InitializationData initData = initializationData;
- initData.properties = createProperties(argc, argv, initData.properties, initData.stringConverter);
-
- IceInternal::Application::_appName = initData.properties->getPropertyWithDefault("Ice.ProgramName",
- IceInternal::Application::_appName);
//
// If the process logger is the default logger, we now replace it with a
@@ -653,11 +647,6 @@ Ice::Application::doMain(int argc, char* argv[], const InitializationData& initi
IceInternal::Application::_communicator = initialize(argc, argv, initData);
IceInternal::Application::_destroyed = false;
-
- //
- // Used by destroyOnInterruptCallback and shutdownOnInterruptCallback.
- //
- _nohup = (IceInternal::Application::_communicator->getProperties()->getPropertyAsInt("Ice.Nohup") > 0);
//
// The default is to destroy when a signal is received.