1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-18 03:46:03 +00:00

Fix icegridnode, so it applies property changes to shared communicators

correctly.

Without this fix, updates to icebox applications that use a shared
communicator will fail silently (unless specific trace properties
are set), which also stops other configuration changes to propagate
properly. This will also be escalated to upstream.

Approved by:	mentors (implicit)
This commit is contained in:
Michael Gmelin 2016-11-15 14:52:35 +00:00
parent c4611ee02a
commit 6e746d77d5
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=426170
2 changed files with 27 additions and 0 deletions

View File

@ -3,6 +3,7 @@
PORTNAME= Ice
PORTVERSION= 3.6.3
PORTREVISION= 1
DISTVERSIONPREFIX= v
CATEGORIES= devel

View File

@ -0,0 +1,26 @@
--- cpp/src/IceGrid/ServerI.cpp.orig 2016-11-15 12:22:54.201742997 +0100
+++ cpp/src/IceGrid/ServerI.cpp 2016-11-15 12:48:01.409625996 +0100
@@ -341,7 +341,22 @@
{
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();