summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--cpp/src/Freeze/TransactionalEvictorContext.cpp3
2 files changed, 5 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index aadec15c7ad..05583a98697 100644
--- a/CHANGES
+++ b/CHANGES
@@ -25,6 +25,9 @@ C++ Changes
- Fixed a bug where slice2cpp would generate absolute include paths
if the command line option "-I." was used.
+- Fixed Freeze transactional evictor bug which could cause the
+ transaction of an asynchronous method dispatch to be rolled back on
+ the first try and only if rollback on user exception was enabled.
======================================================================
Changes since version 3.2.1
diff --git a/cpp/src/Freeze/TransactionalEvictorContext.cpp b/cpp/src/Freeze/TransactionalEvictorContext.cpp
index a8f379b6cf6..86da89cc41a 100644
--- a/cpp/src/Freeze/TransactionalEvictorContext.cpp
+++ b/cpp/src/Freeze/TransactionalEvictorContext.cpp
@@ -65,7 +65,8 @@ Freeze::TransactionalEvictorDeadlockException::ice_print(ostream& out) const
Freeze::TransactionalEvictorContext::TransactionalEvictorContext(const SharedDbEnvPtr& dbEnv) :
_tx((new ConnectionI(dbEnv))->beginTransactionI()),
- _deadlockExceptionDetected(false)
+ _deadlockExceptionDetected(false),
+ _userExceptionDetected(false)
{
_tx->setPostCompletionCallback(this);
}