summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2016-11-16 09:02:21 +0100
committerGitHub <noreply@github.com>2016-11-16 09:02:21 +0100
commit025e26967c8e5232a612e4a62a125945cfaf5155 (patch)
treecded166c6c7926821401aa74020a12d3bb36996a /cpp/src
parentBuild PHP/Python on Windows only with v140 (diff)
parentFix updating runtime properties for services using shared communicator (diff)
downloadice-025e26967c8e5232a612e4a62a125945cfaf5155.tar.bz2
ice-025e26967c8e5232a612e4a62a125945cfaf5155.tar.xz
ice-025e26967c8e5232a612e4a62a125945cfaf5155.zip
Merge pull request #14 from AndiDog/feature/fix-updating-props-shared-communicator
Fix updating runtime properties for services using shared communicator
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/IceGrid/ServerI.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/cpp/src/IceGrid/ServerI.cpp b/cpp/src/IceGrid/ServerI.cpp
index 1ac85f57a0d..7102acf6e28 100644
--- a/cpp/src/IceGrid/ServerI.cpp
+++ b/cpp/src/IceGrid/ServerI.cpp
@@ -328,7 +328,22 @@ private:
{
assert(_p->first.find("config_") == 0);
const string service = _p->first.substr(7);
- facet = "IceBox.Service." + service + ".Properties";
+ bool useSharedCommunicator = false;
+ for (PropertyDescriptorSeq::const_iterator d = _properties.at("config").begin(); d != _properties.at("config").end(); ++d)
+ {
+ if (d->name == "IceBox.UseSharedCommunicator." + service)
+ {
+ useSharedCommunicator = (atoi(d->value.c_str()) > 0);
+ }
+ }
+ if (useSharedCommunicator)
+ {
+ facet = "IceBox.SharedCommunicator.Properties";
+ }
+ else
+ {
+ facet = "IceBox.Service." + service + ".Properties";
+ }
if(_traceLevels->server > 1)
{
const string id = _server->getId();