dovecot-1.1: Rotated transaction logs weren't always unlocked, p...

dovecot at dovecot.org dovecot at dovecot.org
Tue Jun 17 12:35:48 EEST 2008


details:   http://hg.dovecot.org/dovecot-1.1/rev/dd896547f2a5
changeset: 7674:dd896547f2a5
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Jun 17 12:35:44 2008 +0300
description:
Rotated transaction logs weren't always unlocked, potentially causing other
processes to fail with timeout errors.

diffstat:

1 file changed, 5 insertions(+)
src/lib-index/mail-transaction-log.c |    5 +++++

diffs (15 lines):

diff -r ef1b8737677b -r dd896547f2a5 src/lib-index/mail-transaction-log.c
--- a/src/lib-index/mail-transaction-log.c	Tue Jun 17 12:32:25 2008 +0300
+++ b/src/lib-index/mail-transaction-log.c	Tue Jun 17 12:35:44 2008 +0300
@@ -207,6 +207,11 @@ void mail_transaction_logs_clean(struct 
 
 		mail_transaction_log_file_free(&file);
 	}
+	/* if we still have locked files with refcount=0, unlock them */
+	for (; file != NULL; file = file->next) {
+		if (file->locked && file->refcount == 0)
+			mail_transaction_log_file_unlock(file);
+	}
 	i_assert(log->head == NULL || log->files != NULL);
 }
 


More information about the dovecot-cvs mailing list