summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Freeze/DBI.cpp6
-rw-r--r--cpp/src/Freeze/DBI.h2
-rw-r--r--cpp/src/Ice/ObjectAdapterI.cpp7
-rw-r--r--cpp/src/Ice/Proxy.cpp2
-rw-r--r--cpp/src/Ice/ServantFactoryManager.cpp2
5 files changed, 12 insertions, 7 deletions
diff --git a/cpp/src/Freeze/DBI.cpp b/cpp/src/Freeze/DBI.cpp
index fc8b1510083..961da8e792a 100644
--- a/cpp/src/Freeze/DBI.cpp
+++ b/cpp/src/Freeze/DBI.cpp
@@ -338,7 +338,7 @@ Freeze::DBEnvI::~DBEnvI()
DBPtr
Freeze::DBEnvI::open(const string& name)
{
- JTCSyncT<JTCMutex> sync(*this);
+ JTCSyncT<JTCRecursiveMutex> sync(*this);
if(!_dbenv)
{
@@ -389,7 +389,7 @@ Freeze::DBEnvI::open(const string& name)
void
Freeze::DBEnvI::close()
{
- JTCSyncT<JTCMutex> sync(*this);
+ JTCSyncT<JTCRecursiveMutex> sync(*this);
if (!_dbenv)
{
@@ -419,7 +419,7 @@ Freeze::DBEnvI::close()
void
Freeze::DBEnvI::remove(const string& name)
{
- JTCSyncT<JTCMutex> sync(*this);
+ JTCSyncT<JTCRecursiveMutex> sync(*this);
_dbmap.erase(name);
}
diff --git a/cpp/src/Freeze/DBI.h b/cpp/src/Freeze/DBI.h
index 2f5351de58b..31c3f38c436 100644
--- a/cpp/src/Freeze/DBI.h
+++ b/cpp/src/Freeze/DBI.h
@@ -46,7 +46,7 @@ private:
std::string _name;
};
-class DBEnvI : public DBEnv, public JTCMutex
+class DBEnvI : public DBEnv, public JTCRecursiveMutex
{
public:
diff --git a/cpp/src/Ice/ObjectAdapterI.cpp b/cpp/src/Ice/ObjectAdapterI.cpp
index 877472ddbb1..6bca95c288d 100644
--- a/cpp/src/Ice/ObjectAdapterI.cpp
+++ b/cpp/src/Ice/ObjectAdapterI.cpp
@@ -85,8 +85,11 @@ Ice::ObjectAdapterI::deactivate()
_collectorFactories.clear();
_activeServantMap.clear();
_activeServantMapHint = _activeServantMap.begin();
- _locator->deactivate();
- _locator = 0;
+ if (_locator)
+ {
+ _locator->deactivate();
+ _locator = 0;
+ }
}
ObjectPrx
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp
index 0636e65b353..a096a2a08cf 100644
--- a/cpp/src/Ice/Proxy.cpp
+++ b/cpp/src/Ice/Proxy.cpp
@@ -498,6 +498,7 @@ IceDelegateM::Ice::Object::~Object()
const EmitterPtr&
IceDelegateM::Ice::Object::__emitter()
{
+ assert(_emitter);
return _emitter;
}
@@ -559,4 +560,5 @@ IceDelegateM::Ice::Object::setup(const ReferencePtr& reference)
EmitterFactoryPtr factory = _reference->instance->emitterFactory();
_emitter = factory->create(endpoints);
+ assert(_emitter);
}
diff --git a/cpp/src/Ice/ServantFactoryManager.cpp b/cpp/src/Ice/ServantFactoryManager.cpp
index 5064eef27c0..91c01f4f0c2 100644
--- a/cpp/src/Ice/ServantFactoryManager.cpp
+++ b/cpp/src/Ice/ServantFactoryManager.cpp
@@ -49,7 +49,7 @@ void
IceInternal::ServantFactoryManager::destroy()
{
JTCSyncT<JTCMutex> sync(*this);
- for (map<string, ::Ice::ServantFactoryPtr>::iterator p = 0; p != _factories.end(); ++p)
+ for (map<string, ::Ice::ServantFactoryPtr>::iterator p = _factories.begin(); p != _factories.end(); ++p)
{
p->second->destroy();
}