summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Freeze/TransactionalEvictorContext.cpp19
-rw-r--r--cpp/src/Freeze/TransactionalEvictorI.cpp8
-rw-r--r--cpp/src/Glacier2/Instance.h26
-rw-r--r--cpp/src/Glacier2/RequestQueue.cpp1
-rw-r--r--cpp/src/Glacier2/SessionRouterI.h4
-rw-r--r--cpp/src/Ice/EndpointI.h2
-rw-r--r--cpp/src/IceGrid/DescriptorHelper.cpp8
7 files changed, 16 insertions, 52 deletions
diff --git a/cpp/src/Freeze/TransactionalEvictorContext.cpp b/cpp/src/Freeze/TransactionalEvictorContext.cpp
index 9123b732557..bc5dca6ee9d 100644
--- a/cpp/src/Freeze/TransactionalEvictorContext.cpp
+++ b/cpp/src/Freeze/TransactionalEvictorContext.cpp
@@ -273,15 +273,6 @@ Freeze::TransactionalEvictorContext::ServantHolder::ServantHolder() :
Freeze::TransactionalEvictorContext::ServantHolder::~ServantHolder()
{
-#ifdef __HP_aCC
-//
-// The HP aCC compiler has a tendency to run dtors several times when an exception is raised:
-// a very nasty bug!
-//
- try
- {
-#endif
-
if(_ownBody && _body.ownServant)
{
const TransactionalEvictorContextPtr& ctx = *(_body.ctx);
@@ -302,16 +293,6 @@ Freeze::TransactionalEvictorContext::ServantHolder::~ServantHolder()
}
ctx->_stack.pop_front();
}
-#ifdef __HP_aCC
- _body.rec.servant = 0;
- }
- catch(...)
- {
- _body.rec.servant = 0;
- throw;
- }
-#endif
-
}
diff --git a/cpp/src/Freeze/TransactionalEvictorI.cpp b/cpp/src/Freeze/TransactionalEvictorI.cpp
index c659cfdf198..f9b0a627e89 100644
--- a/cpp/src/Freeze/TransactionalEvictorI.cpp
+++ b/cpp/src/Freeze/TransactionalEvictorI.cpp
@@ -557,14 +557,6 @@ Freeze::TransactionalEvictorI::dispatch(Request& request)
return dispatchStatus;
}
-#ifdef __HP_aCC
- // COMPILER BUG
- catch(const std::exception&)
- {
- ctx->rollback();
- throw;
- }
-#endif
catch(...)
{
//
diff --git a/cpp/src/Glacier2/Instance.h b/cpp/src/Glacier2/Instance.h
index f1762b24b46..9ed1c814e24 100644
--- a/cpp/src/Glacier2/Instance.h
+++ b/cpp/src/Glacier2/Instance.h
@@ -17,13 +17,11 @@
#include <Glacier2/RequestQueue.h>
#include <Glacier2/ProxyVerifier.h>
+#include <Glacier2/SessionRouterI.h>
namespace Glacier2
{
-class SessionRouterI;
-typedef IceUtil::Handle<SessionRouterI> SessionRouterIPtr;
-
class Instance : public IceUtil::Shared
{
public:
@@ -31,20 +29,16 @@ public:
Instance(const Ice::CommunicatorPtr&, const Ice::ObjectAdapterPtr&, const Ice::ObjectAdapterPtr&);
~Instance();
- //
- // COMPILERFIX: returning const& is necessary on HP-UX (otherwise, it crashes in the Blobject
- // constructor).
- //
- const Ice::CommunicatorPtr& communicator() const { return _communicator; }
- const Ice::ObjectAdapterPtr& clientObjectAdapter() const { return _clientAdapter; }
- const Ice::ObjectAdapterPtr& serverObjectAdapter() const { return _serverAdapter; }
- const Ice::PropertiesPtr& properties() const { return _properties; }
- const Ice::LoggerPtr& logger() const { return _logger; }
+ Ice::CommunicatorPtr communicator() const { return _communicator; }
+ Ice::ObjectAdapterPtr clientObjectAdapter() const { return _clientAdapter; }
+ Ice::ObjectAdapterPtr serverObjectAdapter() const { return _serverAdapter; }
+ Ice::PropertiesPtr properties() const { return _properties; }
+ Ice::LoggerPtr logger() const { return _logger; }
- const RequestQueueThreadPtr& clientRequestQueueThread() const { return _clientRequestQueueThread; }
- const RequestQueueThreadPtr& serverRequestQueueThread() const { return _serverRequestQueueThread; }
- const ProxyVerifierPtr& proxyVerifier() const { return _proxyVerifier; }
- const SessionRouterIPtr& sessionRouter() const { return _sessionRouter; }
+ RequestQueueThreadPtr clientRequestQueueThread() const { return _clientRequestQueueThread; }
+ RequestQueueThreadPtr serverRequestQueueThread() const { return _serverRequestQueueThread; }
+ ProxyVerifierPtr proxyVerifier() const { return _proxyVerifier; }
+ SessionRouterIPtr sessionRouter() const { return _sessionRouter; }
void destroy();
diff --git a/cpp/src/Glacier2/RequestQueue.cpp b/cpp/src/Glacier2/RequestQueue.cpp
index 61f85b2c34a..904f3d6c578 100644
--- a/cpp/src/Glacier2/RequestQueue.cpp
+++ b/cpp/src/Glacier2/RequestQueue.cpp
@@ -8,6 +8,7 @@
// **********************************************************************
#include <Glacier2/RequestQueue.h>
+#include <Glacier2/Instance.h>
#include <Glacier2/SessionRouterI.h>
#include <set>
diff --git a/cpp/src/Glacier2/SessionRouterI.h b/cpp/src/Glacier2/SessionRouterI.h
index 5eed65fb77b..87ebd7a5a80 100644
--- a/cpp/src/Glacier2/SessionRouterI.h
+++ b/cpp/src/Glacier2/SessionRouterI.h
@@ -15,7 +15,6 @@
#include <Ice/Ice.h>
#include <Glacier2/PermissionsVerifierF.h>
#include <Glacier2/Router.h>
-#include <Glacier2/Instance.h>
#include <set>
#include <IceUtil/DisableWarnings.h>
@@ -33,6 +32,9 @@ typedef IceUtil::Handle<FilterManager> FilterManagerPtr;
class CreateSession;
typedef IceUtil::Handle<CreateSession> CreateSessionPtr;
+
+class Instance;
+typedef IceUtil::Handle<Instance> InstancePtr;
class CreateSession : public IceUtil::Shared
{
diff --git a/cpp/src/Ice/EndpointI.h b/cpp/src/Ice/EndpointI.h
index 4f9a16ccffe..c22a00d6763 100644
--- a/cpp/src/Ice/EndpointI.h
+++ b/cpp/src/Ice/EndpointI.h
@@ -155,7 +155,7 @@ protected:
private:
-#if defined(__SUNPRO_CC) || defined(__HP_aCC)
+#if defined(__SUNPRO_CC)
//
// COMPILERFIX: prevent the compiler from emitting a warning about
// hidding these operators.
diff --git a/cpp/src/IceGrid/DescriptorHelper.cpp b/cpp/src/IceGrid/DescriptorHelper.cpp
index 5fb6b0f8f49..1692300df84 100644
--- a/cpp/src/IceGrid/DescriptorHelper.cpp
+++ b/cpp/src/IceGrid/DescriptorHelper.cpp
@@ -2712,14 +2712,8 @@ ApplicationHelper::update(const ApplicationUpdateDescriptor& updt) const
NodeHelperDict::const_iterator q = _nodes.find(p->name);
if(q != _nodes.end()) // Updated node
{
- //
- // 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));
+ def.nodes.insert(make_pair(p->name, q->second.update(*p, resolve)));
}
else // New node
{