summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rw-r--r--cpp/CHANGES3
-rw-r--r--cpp/src/IceGrid/Activator.cpp10
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)