changeset 5083:aba0bc3338c9 HEAD

If save_commit_pre() fails, rollback the transaction.
author Timo Sirainen <tss@iki.fi>
date Thu, 25 Jan 2007 19:24:47 +0200
parents 0074574b9d2c
children 68b0ef27bc6a
files src/lib-storage/index/maildir/maildir-transaction.c
diffstat 1 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/maildir/maildir-transaction.c	Thu Jan 25 19:23:12 2007 +0200
+++ b/src/lib-storage/index/maildir/maildir-transaction.c	Thu Jan 25 19:24:47 2007 +0200
@@ -27,9 +27,13 @@
 
 	save_ctx = mt->save_ctx;
 
-	if (index_transaction_finish_commit(&mt->ictx, log_file_seq_r,
-					    log_file_offset_r) < 0)
-		ret = -1;
+	if (ret == 0) {
+		if (index_transaction_finish_commit(&mt->ictx, log_file_seq_r,
+						    log_file_offset_r) < 0)
+			ret = -1;
+	} else {
+		index_transaction_finish_rollback(&mt->ictx);
+	}
 
 	/* transaction is destroyed now. */
 	mt = NULL;