diff options
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/CHANGES | 3 | ||||
-rw-r--r-- | cpp/src/IceGrid/Activator.cpp | 10 |
2 files changed, 13 insertions, 0 deletions
diff --git a/cpp/CHANGES b/cpp/CHANGES index f1d0a0a6200..dbffbc06e8a 100644 --- a/cpp/CHANGES +++ b/cpp/CHANGES @@ -1,6 +1,9 @@ Changes since version 3.2.X (binary incompabible) ------------------------------------------------- +- The IceGrid node now unblocks the SIGHUP, SIGINT and SIGTERM + signals from forked servers. + - Added support for udp multicast. See manual for more information. - If a proxy contains a host which is multihomed, the client will now diff --git a/cpp/src/IceGrid/Activator.cpp b/cpp/src/IceGrid/Activator.cpp index 5f266631199..0da11f2d1ae 100644 --- a/cpp/src/IceGrid/Activator.cpp +++ b/cpp/src/IceGrid/Activator.cpp @@ -623,6 +623,16 @@ Activator::activate(const string& name, // // + // Unblock signals blocked by IceUtil::CtrlCHandler. + // + sigset_t sigs; + sigemptyset(&sigs); + sigaddset(&sigs, SIGHUP); + sigaddset(&sigs, SIGINT); + sigaddset(&sigs, SIGTERM); + sigprocmask(SIG_UNBLOCK, &sigs, 0); + + // // Change the uid/gid under which the process will run. // if(setgid(gid) == -1) |