summaryrefslogtreecommitdiff
path: root/cpp/src/Freeze/SharedDb.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2007-11-19 17:49:00 -0500
committerBernard Normier <bernard@zeroc.com>2007-11-19 17:49:00 -0500
commit99bbf0fbbb8ee4fe2b5807c68c4a7b054e29f3db (patch)
tree1629e081bdbf6cfd412b36f19b1eb5f1f0face2b /cpp/src/Freeze/SharedDb.cpp
parentFixed bug #2562 (diff)
parentMerge branch 'master' of ssh://cvs.zeroc.com/home/git/ice (diff)
downloadice-99bbf0fbbb8ee4fe2b5807c68c4a7b054e29f3db.tar.bz2
ice-99bbf0fbbb8ee4fe2b5807c68c4a7b054e29f3db.tar.xz
ice-99bbf0fbbb8ee4fe2b5807c68c4a7b054e29f3db.zip
Merge branch 'master' of cvs:/home/git/ice
Diffstat (limited to 'cpp/src/Freeze/SharedDb.cpp')
-rw-r--r--cpp/src/Freeze/SharedDb.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/cpp/src/Freeze/SharedDb.cpp b/cpp/src/Freeze/SharedDb.cpp
index 57018ec6efc..ab651e267c2 100644
--- a/cpp/src/Freeze/SharedDb.cpp
+++ b/cpp/src/Freeze/SharedDb.cpp
@@ -198,6 +198,7 @@ Freeze::SharedDb::openCatalogs(SharedDbEnv& dbEnv, SharedDbPtr& catalog, SharedD
assert(0);
throw DatabaseException(__FILE__, __LINE__, "Catalog already opened");
}
+ newCatalog->_inMap = true;
mapKey.dbName = _catalogIndexListName;
@@ -212,6 +213,8 @@ Freeze::SharedDb::openCatalogs(SharedDbEnv& dbEnv, SharedDbPtr& catalog, SharedD
assert(0);
throw DatabaseException(__FILE__, __LINE__, "CatalogIndexList already opened");
}
+ newCatalogIndexList->_inMap = true;
+
catalog = newCatalog.release();
catalogIndexList = newCatalogIndexList.release();
@@ -572,7 +575,7 @@ Freeze::SharedDb::SharedDb(const MapKey& mapKey,
}
else
{
- throw DeadlockException(__FILE__, __LINE__, dx.what());
+ throw DeadlockException(__FILE__, __LINE__, dx.what(), tx);
}
}
catch(const DbException& dx)
@@ -615,7 +618,8 @@ Freeze::SharedDb::SharedDb(const MapKey& mapKey, const string& keyTypeId, const
_mapKey(mapKey),
_key(keyTypeId),
_value(valueTypeId),
- _refCount(0)
+ _refCount(0),
+ _inMap(false)
{
_trace = _mapKey.communicator->getProperties()->getPropertyAsInt("Freeze.Trace.Map");