diff options
author | Benoit Foucher <benoit@zeroc.com> | 2008-05-09 13:41:22 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2008-05-09 13:41:22 +0200 |
commit | 234203502ea515f475a747c5fdeccb054195b195 (patch) | |
tree | 2d859f53f3ddbd2c0a42f344db9586b2a21e13f7 /cpp/src/IceGrid/Activator.cpp | |
parent | http://bugzilla/bugzilla/show_bug.cgi?id=3120 - updated demo/IceStorm/replica... (diff) | |
download | ice-234203502ea515f475a747c5fdeccb054195b195.tar.bz2 ice-234203502ea515f475a747c5fdeccb054195b195.tar.xz ice-234203502ea515f475a747c5fdeccb054195b195.zip |
Fixed bug 3128 & 3129 - icepatch2server crash on exit bug
Diffstat (limited to 'cpp/src/IceGrid/Activator.cpp')
-rw-r--r-- | cpp/src/IceGrid/Activator.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/cpp/src/IceGrid/Activator.cpp b/cpp/src/IceGrid/Activator.cpp index 1ce7135e15b..501f8110741 100644 --- a/cpp/src/IceGrid/Activator.cpp +++ b/cpp/src/IceGrid/Activator.cpp @@ -682,15 +682,14 @@ Activator::activate(const string& name, for(int i = 0; i < env.argc; i++) { - if(putenv(env.argv[i]) != 0) + // + // Each env is leaked on purpose ... see man putenv(). + // + if(putenv(strdup(env.argv[i])) != 0) { reportChildError(errno, fds[1], "cannot set environment variable", env.argv[i]); } } - // - // Each env is leaked on purpose ... see man putenv(). - // - env.setNoDelete(); // // Change working directory. @@ -701,7 +700,7 @@ Activator::activate(const string& name, { reportChildError(errno, fds[1], "cannot change working directory to", pwdCStr); } - } + } if(execvp(av.argv[0], av.argv) == -1) { |