summaryrefslogtreecommitdiff
path: root/cpp/src/Freeze/SharedDb.cpp
diff options
context:
space:
mode:
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");