Mercurial > dovecot > original-hg > dovecot-1.2
changeset 2863:f922505b5ade HEAD
Allow calling mail_index_fsck() with log locked.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 07 Nov 2004 20:55:15 +0200 |
parents | 6a8c73bfbcad |
children | 890e1deba03e |
files | src/lib-index/mail-index-fsck.c |
diffstat | 1 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-index-fsck.c Sun Nov 07 20:52:30 2004 +0200 +++ b/src/lib-index/mail-index-fsck.c Sun Nov 07 20:55:15 2004 +0200 @@ -112,11 +112,14 @@ unsigned int lock_id; uint32_t file_seq; uoff_t file_offset; - int ret; + int ret, lock_log; - if (mail_transaction_log_sync_lock(index->log, &file_seq, - &file_offset) < 0) - return -1; + lock_log = !index->log_locked; + if (lock_log) { + if (mail_transaction_log_sync_lock(index->log, &file_seq, + &file_offset) < 0) + return -1; + } if (mail_index_lock_exclusive(index, &lock_id) < 0) { mail_transaction_log_sync_unlock(index->log); return -1; @@ -128,7 +131,8 @@ ret = mail_index_fsck_locked(index, &error); mail_index_unlock(index, lock_id); - mail_transaction_log_sync_unlock(index->log); + if (lock_log) + mail_transaction_log_sync_unlock(index->log); if (error != NULL) { mail_index_set_error(index, "Corrupted index file %s: %s",