diff options
author | grembo <grembo@FreeBSD.org> | 2016-11-15 22:52:35 +0800 |
---|---|---|
committer | grembo <grembo@FreeBSD.org> | 2016-11-15 22:52:35 +0800 |
commit | 20e494e31d94fe637fbb1214bbda9d00fc74f805 (patch) | |
tree | aa7c709b39b4c121559900e35895778a38ef3edf /devel | |
parent | 1b2279bd0f0110aafec1abb790e986170107688d (diff) | |
download | freebsd-ports-gnome-20e494e31d94fe637fbb1214bbda9d00fc74f805.tar.gz freebsd-ports-gnome-20e494e31d94fe637fbb1214bbda9d00fc74f805.tar.zst freebsd-ports-gnome-20e494e31d94fe637fbb1214bbda9d00fc74f805.zip |
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)
Diffstat (limited to 'devel')
-rw-r--r-- | devel/ice/Makefile | 1 | ||||
-rw-r--r-- | devel/ice/files/patch-cpp-src-IceGrid-ServerI.cpp | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/devel/ice/Makefile b/devel/ice/Makefile index 856d85d46630..ba6fab6facd3 100644 --- a/devel/ice/Makefile +++ b/devel/ice/Makefile @@ -3,6 +3,7 @@ PORTNAME= Ice PORTVERSION= 3.6.3 +PORTREVISION= 1 DISTVERSIONPREFIX= v CATEGORIES= devel diff --git a/devel/ice/files/patch-cpp-src-IceGrid-ServerI.cpp b/devel/ice/files/patch-cpp-src-IceGrid-ServerI.cpp new file mode 100644 index 000000000000..83a3eade43b4 --- /dev/null +++ b/devel/ice/files/patch-cpp-src-IceGrid-ServerI.cpp @@ -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(); |