diff options
Diffstat (limited to 'cpp/src/Freeze/TransactionI.cpp')
-rw-r--r-- | cpp/src/Freeze/TransactionI.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/cpp/src/Freeze/TransactionI.cpp b/cpp/src/Freeze/TransactionI.cpp index 725953a4c6c..e8f1bdb2932 100644 --- a/cpp/src/Freeze/TransactionI.cpp +++ b/cpp/src/Freeze/TransactionI.cpp @@ -137,10 +137,12 @@ Freeze::TransactionI::rollbackInternal(bool warning) out << "failed to rollback transaction " << hex << txnId << dec << ": " << dx.what(); } + DeadlockException deadlockException(__FILE__, __LINE__, dx.what(), this); + postCompletion(false, true); // After postCompletion is called the transaction may be // dead. Beware! - throw DeadlockException(__FILE__, __LINE__, dx.what()); + throw deadlockException; } catch(const ::DbException& dx) { |