summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/LocatorInfo.cpp1
-rw-r--r--cpp/src/Ice/LocatorInfo.h32
-rw-r--r--cpp/src/Ice/RouterInfo.h38
-rw-r--r--cpp/src/Ice/RoutingTable.cpp2
4 files changed, 37 insertions, 36 deletions
diff --git a/cpp/src/Ice/LocatorInfo.cpp b/cpp/src/Ice/LocatorInfo.cpp
index 47295fc93ba..32ac46b7b78 100644
--- a/cpp/src/Ice/LocatorInfo.cpp
+++ b/cpp/src/Ice/LocatorInfo.cpp
@@ -225,7 +225,6 @@ IceInternal::LocatorInfo::destroy()
{
IceUtil::Mutex::Lock sync(*this);
- _locator = 0;
_locatorRegistry = 0;
_table->clear();
}
diff --git a/cpp/src/Ice/LocatorInfo.h b/cpp/src/Ice/LocatorInfo.h
index e4971d4474b..de145639820 100644
--- a/cpp/src/Ice/LocatorInfo.h
+++ b/cpp/src/Ice/LocatorInfo.h
@@ -25,7 +25,7 @@
namespace IceInternal
{
-class LocatorManager : public ::IceUtil::Shared, public ::IceUtil::Mutex
+class LocatorManager : public IceUtil::Shared, public IceUtil::Mutex
{
public:
@@ -37,17 +37,17 @@ public:
// Returns locator info for a given locator. Automatically creates
// the locator info if it doesn't exist yet.
//
- LocatorInfoPtr get(const ::Ice::LocatorPrx&);
+ LocatorInfoPtr get(const Ice::LocatorPrx&);
private:
- std::map< ::Ice::LocatorPrx, LocatorInfoPtr> _table;
- std::map< ::Ice::LocatorPrx, LocatorInfoPtr>::iterator _tableHint;
+ std::map<Ice::LocatorPrx, LocatorInfoPtr> _table;
+ std::map<Ice::LocatorPrx, LocatorInfoPtr>::iterator _tableHint;
- std::map< ::Ice::Identity, LocatorTablePtr> _locatorTables;
+ std::map<Ice::Identity, LocatorTablePtr> _locatorTables;
};
-class LocatorTable : public ::IceUtil::Shared, public ::IceUtil::Mutex
+class LocatorTable : public IceUtil::Shared, public IceUtil::Mutex
{
public:
@@ -59,9 +59,9 @@ public:
void addAdapterEndpoints(const std::string&, const ::std::vector<EndpointPtr>&);
::std::vector<EndpointPtr> removeAdapterEndpoints(const std::string&);
- bool getProxy(const ::Ice::Identity&, ::Ice::ObjectPrx&) const;
- void addProxy(const ::Ice::Identity&, const Ice::ObjectPrx&);
- Ice::ObjectPrx removeProxy(const ::Ice::Identity&);
+ bool getProxy(const Ice::Identity&, Ice::ObjectPrx&) const;
+ void addProxy(const Ice::Identity&, const Ice::ObjectPrx&);
+ Ice::ObjectPrx removeProxy(const Ice::Identity&);
private:
@@ -69,11 +69,11 @@ private:
std::map<Ice::Identity, Ice::ObjectPrx > _objectMap;
};
-class LocatorInfo : public ::IceUtil::Shared, public ::IceUtil::Mutex
+class LocatorInfo : public IceUtil::Shared, public IceUtil::Mutex
{
public:
- LocatorInfo(const ::Ice::LocatorPrx&, const LocatorTablePtr&);
+ LocatorInfo(const Ice::LocatorPrx&, const LocatorTablePtr&);
void destroy();
@@ -81,8 +81,8 @@ public:
bool operator!=(const LocatorInfo&) const;
bool operator<(const LocatorInfo&) const;
- ::Ice::LocatorPrx getLocator() const;
- ::Ice::LocatorRegistryPrx getLocatorRegistry();
+ Ice::LocatorPrx getLocator() const;
+ Ice::LocatorRegistryPrx getLocatorRegistry();
std::vector<EndpointPtr> getEndpoints(const ReferencePtr&, bool&);
void clearCache(const ReferencePtr&);
@@ -92,9 +92,9 @@ private:
void trace(const std::string&, const ReferencePtr&, const std::vector<EndpointPtr>&);
- ::Ice::LocatorPrx _locator; // Immutable.
- ::Ice::LocatorRegistryPrx _locatorRegistry;
- LocatorTablePtr _table; // Immutable.
+ const Ice::LocatorPrx _locator;
+ Ice::LocatorRegistryPrx _locatorRegistry;
+ const LocatorTablePtr _table;
};
}
diff --git a/cpp/src/Ice/RouterInfo.h b/cpp/src/Ice/RouterInfo.h
index 0d7464505dc..93e105ac8dd 100644
--- a/cpp/src/Ice/RouterInfo.h
+++ b/cpp/src/Ice/RouterInfo.h
@@ -25,7 +25,7 @@
namespace IceInternal
{
-class RouterManager : public ::IceUtil::Shared, public ::IceUtil::Mutex
+class RouterManager : public IceUtil::Shared, public IceUtil::Mutex
{
public:
@@ -37,19 +37,19 @@ public:
// Returns router info for a given router. Automatically creates
// the router info if it doesn't exist yet.
//
- RouterInfoPtr get(const ::Ice::RouterPrx&);
+ RouterInfoPtr get(const Ice::RouterPrx&);
private:
- std::map< ::Ice::RouterPrx, RouterInfoPtr> _table;
- std::map< ::Ice::RouterPrx, RouterInfoPtr>::iterator _tableHint;
+ std::map<Ice::RouterPrx, RouterInfoPtr> _table;
+ std::map<Ice::RouterPrx, RouterInfoPtr>::iterator _tableHint;
};
-class RouterInfo : public ::IceUtil::Shared, public ::IceUtil::Mutex
+class RouterInfo : public IceUtil::Shared, public IceUtil::Mutex
{
public:
- RouterInfo(const ::Ice::RouterPrx&);
+ RouterInfo(const Ice::RouterPrx&);
void destroy();
@@ -57,22 +57,22 @@ public:
bool operator!=(const RouterInfo&) const;
bool operator<(const RouterInfo&) const;
- ::Ice::RouterPrx getRouter() const;
- ::Ice::ObjectPrx getClientProxy();
- void setClientProxy(const ::Ice::ObjectPrx&);
- ::Ice::ObjectPrx getServerProxy();
- void setServerProxy(const ::Ice::ObjectPrx&);
- void addProxy(const ::Ice::ObjectPrx&);
- void setAdapter(const ::Ice::ObjectAdapterPtr&);
- ::Ice::ObjectAdapterPtr getAdapter() const;
+ Ice::RouterPrx getRouter() const;
+ Ice::ObjectPrx getClientProxy();
+ void setClientProxy(const Ice::ObjectPrx&);
+ Ice::ObjectPrx getServerProxy();
+ void setServerProxy(const Ice::ObjectPrx&);
+ void addProxy(const Ice::ObjectPrx&);
+ void setAdapter(const Ice::ObjectAdapterPtr&);
+ Ice::ObjectAdapterPtr getAdapter() const;
private:
- ::Ice::RouterPrx _router; // Immutable.
- ::Ice::ObjectPrx _clientProxy;
- ::Ice::ObjectPrx _serverProxy;
- RoutingTablePtr _routingTable; // Immutable.
- ::Ice::ObjectAdapterPtr _adapter;
+ const Ice::RouterPrx _router;
+ Ice::ObjectPrx _clientProxy;
+ Ice::ObjectPrx _serverProxy;
+ const RoutingTablePtr _routingTable;
+ Ice::ObjectAdapterPtr _adapter;
};
}
diff --git a/cpp/src/Ice/RoutingTable.cpp b/cpp/src/Ice/RoutingTable.cpp
index 1d89afc5f73..b9ed35d9a92 100644
--- a/cpp/src/Ice/RoutingTable.cpp
+++ b/cpp/src/Ice/RoutingTable.cpp
@@ -30,6 +30,8 @@ IceInternal::RoutingTable::RoutingTable() :
void
IceInternal::RoutingTable::clear()
{
+ IceUtil::Mutex::Lock sync(*this);
+
_table.clear();
_tableHint = _table.end();
}