summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Activator.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2008-05-09 13:41:22 +0200
committerBenoit Foucher <benoit@zeroc.com>2008-05-09 13:41:22 +0200
commit234203502ea515f475a747c5fdeccb054195b195 (patch)
tree2d859f53f3ddbd2c0a42f344db9586b2a21e13f7 /cpp/src/IceGrid/Activator.cpp
parenthttp://bugzilla/bugzilla/show_bug.cgi?id=3120 - updated demo/IceStorm/replica... (diff)
downloadice-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.cpp11
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)
{