summaryrefslogtreecommitdiff
path: root/cpp/src/Freeze/SharedDbEnv.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2004-11-17 17:58:24 +0000
committerBernard Normier <bernard@zeroc.com>2004-11-17 17:58:24 +0000
commitf9b149cbc620794b1b955fedb264e1956b9d8f06 (patch)
treee47080a8a51f7fb2639dbf1e281ef671f6e7ae47 /cpp/src/Freeze/SharedDbEnv.cpp
parentuse gzip (diff)
downloadice-f9b149cbc620794b1b955fedb264e1956b9d8f06.tar.bz2
ice-f9b149cbc620794b1b955fedb264e1956b9d8f06.tar.xz
ice-f9b149cbc620794b1b955fedb264e1956b9d8f06.zip
DB 4.3 upgrade, installer updates
Diffstat (limited to 'cpp/src/Freeze/SharedDbEnv.cpp')
-rw-r--r--cpp/src/Freeze/SharedDbEnv.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/cpp/src/Freeze/SharedDbEnv.cpp b/cpp/src/Freeze/SharedDbEnv.cpp
index 90f4ecd213c..dfc9334250e 100644
--- a/cpp/src/Freeze/SharedDbEnv.cpp
+++ b/cpp/src/Freeze/SharedDbEnv.cpp
@@ -61,8 +61,17 @@ operator<(const MapKey& lhs, const MapKey& rhs)
((lhs.communicator == rhs.communicator) && (lhs.envName < rhs.envName));
}
+#if DB_VERSION_MAJOR != 4
+ #error Freeze requires DB 4.x
+#endif
+
+#if DB_VERSION_MINOR < 3
void
dbErrCallback(const char* prefix, char* msg)
+#else
+void
+dbErrCallback(const ::DbEnv* ignored, const char* prefix, const char* msg)
+#endif
{
const Freeze::SharedDbEnv* env = reinterpret_cast<const Freeze::SharedDbEnv*>(prefix);
assert(env != 0);
@@ -71,7 +80,6 @@ dbErrCallback(const char* prefix, char* msg)
out << "DbEnv \"" << env->getEnvName() << "\": " << msg;
}
-
StaticMutex _mapMutex = ICE_STATIC_MUTEX_INITIALIZER;
StaticMutex _refCountMutex = ICE_STATIC_MUTEX_INITIALIZER;
@@ -221,8 +229,9 @@ Freeze::SharedDbEnv::SharedDbEnv(const std::string& envName,
try
{
set_errpfx(reinterpret_cast<char*>(this));
+
set_errcall(dbErrCallback);
-
+
#ifdef _WIN32
//
// Berkeley DB may use a different C++ runtime