summaryrefslogtreecommitdiff
path: root/cpp/src/Freeze/TransactionI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Freeze/TransactionI.cpp')
-rw-r--r--cpp/src/Freeze/TransactionI.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/cpp/src/Freeze/TransactionI.cpp b/cpp/src/Freeze/TransactionI.cpp
index 94c56dc134b..7537818596e 100644
--- a/cpp/src/Freeze/TransactionI.cpp
+++ b/cpp/src/Freeze/TransactionI.cpp
@@ -169,6 +169,7 @@ Freeze::TransactionI::TransactionI(ConnectionI* connection) :
throw ex;
}
}
+
Freeze::TransactionI::~TransactionI()
{
@@ -181,12 +182,14 @@ Freeze::TransactionI::~TransactionI()
void
Freeze::TransactionI::postCompletion(bool committed, bool deadlock)
{
- _connection->clearTransaction();
+ ConnectionIPtr connection = _connection;
_connection = 0;
_txn = 0;
-
+
if(_postCompletionCallback != 0)
{
_postCompletionCallback->postCompletion(committed, deadlock);
}
+
+ connection->clearTransaction();
}