diff options
Diffstat (limited to 'cpp/src/Freeze/TransactionI.cpp')
-rw-r--r-- | cpp/src/Freeze/TransactionI.cpp | 7 |
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(); } |