summaryrefslogtreecommitdiff
path: root/cpp/src/IcePack/ActivatorI.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2002-09-18 20:01:11 +0000
committerBenoit Foucher <benoit@zeroc.com>2002-09-18 20:01:11 +0000
commitaa712ab96c9d6a9ae7dcea6b4907de46a4ee09a5 (patch)
treee6d52c0dfec4c9d8ca284a965db6cf3bf04b052e /cpp/src/IcePack/ActivatorI.cpp
parentfixes (diff)
downloadice-aa712ab96c9d6a9ae7dcea6b4907de46a4ee09a5.tar.bz2
ice-aa712ab96c9d6a9ae7dcea6b4907de46a4ee09a5.tar.xz
ice-aa712ab96c9d6a9ae7dcea6b4907de46a4ee09a5.zip
Changed tracing level for server adapters. Fixed parser bug. Fix activation
bug (race condition).
Diffstat (limited to 'cpp/src/IcePack/ActivatorI.cpp')
-rw-r--r--cpp/src/IcePack/ActivatorI.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/cpp/src/IcePack/ActivatorI.cpp b/cpp/src/IcePack/ActivatorI.cpp
index 77bb18c6736..0e2a056ee9b 100644
--- a/cpp/src/IcePack/ActivatorI.cpp
+++ b/cpp/src/IcePack/ActivatorI.cpp
@@ -303,7 +303,8 @@ IcePack::ActivatorI::deactivate(const ServerPtr& server)
//
// Send a SIGTERM to the process.
//
- if(::kill(static_cast<pid_t>(pid), SIGTERM))
+ int ret = ::kill(static_cast<pid_t>(pid), SIGTERM);
+ if(ret != 0 && ret != ESRCH)
{
SyscallException ex(__FILE__, __LINE__);
ex.error = getSystemErrno();
@@ -333,7 +334,8 @@ IcePack::ActivatorI::kill(const ServerPtr& server)
//
// Send a SIGKILL to the process.
//
- if(::kill(static_cast<pid_t>(pid), SIGKILL))
+ int ret = ::kill(static_cast<pid_t>(pid), SIGKILL);
+ if(ret != 0 && ret != ESRCH)
{
SyscallException ex(__FILE__, __LINE__);
ex.error = getSystemErrno();