dovecot-2.0: dsync: Don't repeatedly try to keep opening the sam...

dovecot at dovecot.org dovecot at dovecot.org
Mon Apr 5 01:54:31 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/ea5bb5676b3f
changeset: 11049:ea5bb5676b3f
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Apr 05 01:54:28 2010 +0300
description:
dsync: Don't repeatedly try to keep opening the same failing mailbox.

diffstat:

 src/dsync/dsync-worker-local.c |  12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diffs (23 lines):

diff -r c0cbcb9ea3c1 -r ea5bb5676b3f src/dsync/dsync-worker-local.c
--- a/src/dsync/dsync-worker-local.c	Mon Apr 05 01:42:58 2010 +0300
+++ b/src/dsync/dsync-worker-local.c	Mon Apr 05 01:54:28 2010 +0300
@@ -1295,13 +1295,13 @@
 		(struct local_dsync_worker *)_worker;
 	struct mailbox_transaction_context *trans, *ext_trans;
 
-	if (worker->selected_box != NULL) {
-		if (dsync_guid_equals(&worker->selected_box_guid, mailbox)) {
-			/* already selected */
-			return;
-		}
+	if (dsync_guid_equals(&worker->selected_box_guid, mailbox)) {
+		/* already selected or previous select failed */
+		i_assert(worker->selected_box != NULL || _worker->failed);
+		return;
+	}
+	if (worker->selected_box != NULL)
 		local_worker_mailbox_close(worker);
-	}
 	worker->selected_box_guid = *mailbox;
 
 	if (local_mailbox_open(worker, mailbox, &worker->selected_box) < 0) {


More information about the dovecot-cvs mailing list