summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/DescriptorHelper.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-06-21 10:16:37 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-06-21 10:16:37 +0000
commit436b931b6d890b078bf071d32986daa8fe4392cd (patch)
treedf3c4c4f81ea304b9b19fe321c0af2ef4372608d /cpp/src/IceGrid/DescriptorHelper.cpp
parentadding debug (diff)
downloadice-436b931b6d890b078bf071d32986daa8fe4392cd.tar.bz2
ice-436b931b6d890b078bf071d32986daa8fe4392cd.tar.xz
ice-436b931b6d890b078bf071d32986daa8fe4392cd.zip
AIX bug fix
Diffstat (limited to 'cpp/src/IceGrid/DescriptorHelper.cpp')
-rw-r--r--cpp/src/IceGrid/DescriptorHelper.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/cpp/src/IceGrid/DescriptorHelper.cpp b/cpp/src/IceGrid/DescriptorHelper.cpp
index e51ed917446..4055a580ff9 100644
--- a/cpp/src/IceGrid/DescriptorHelper.cpp
+++ b/cpp/src/IceGrid/DescriptorHelper.cpp
@@ -2417,7 +2417,14 @@ ApplicationHelper::update(const ApplicationUpdateDescriptor& updt) const
NodeHelperDict::const_iterator q = _nodes.find(p->name);
if(q != _nodes.end()) // Updated node
{
- def.nodes.insert(make_pair(p->name, q->second.update(*p, resolve)));
+ //
+ // COMPILERBUG: AIX xlC (Visual Age 6, 64bit builds)
+ // requires the `desc' temporary here. We can't do the
+ // update call in the make_pair call directly (this
+ // results in a SEGFAULT at runtime).
+ //
+ NodeDescriptor desc = q->second.update(*p, resolve);
+ def.nodes.insert(make_pair(p->name, desc));
}
else // New node
{