From 09e0d4f8fd60cca7cac3b993d962c43bc0f4f9ec Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 1 Jul 2010 18:01:37 +0100 Subject: [PATCH] dsync: Another try at not increasing mailbox uidnext/highestmodseq on failure --HG-- branch : HEAD --- src/dsync/dsync-brain.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/dsync/dsync-brain.c b/src/dsync/dsync-brain.c index dee06c4d9d..63aea42696 100644 --- a/src/dsync/dsync-brain.c +++ b/src/dsync/dsync-brain.c @@ -63,6 +63,10 @@ int dsync_brain_deinit(struct dsync_brain **_brain) if (brain->dest_subs_list != NULL) dsync_brain_subs_list_deinit(&brain->dest_subs_list); + if (dsync_worker_has_failed(brain->src_worker) || + dsync_worker_has_failed(brain->dest_worker)) + ret = -1; + *_brain = NULL; i_free(brain->mailbox); i_free(brain); @@ -693,7 +697,9 @@ static void dsync_brain_sync_update_mailboxes(struct dsync_brain *brain) { const struct dsync_brain_mailbox *mailbox; - bool failed_changes = dsync_brain_has_unexpected_changes(brain); + bool failed_changes = dsync_brain_has_unexpected_changes(brain) || + dsync_worker_has_failed(brain->src_worker) || + dsync_worker_has_failed(brain->dest_worker); array_foreach(&brain->mailbox_sync->mailboxes, mailbox) { /* don't update mailboxes if any changes had failed. -- 2.47.3