dovecot-2.2: dsync: Added assert to make sure end-of-list isn't ...

dovecot at dovecot.org dovecot at dovecot.org
Wed Aug 26 11:41:35 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/156aed1fc0fc
changeset: 19012:156aed1fc0fc
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Aug 26 13:38:52 2015 +0200
description:
dsync: Added assert to make sure end-of-list isn't sent when brain has already failed.

diffstat:

 src/doveadm/dsync/dsync-brain-mails.c |  15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diffs (53 lines):

diff -r 5220d361871e -r 156aed1fc0fc src/doveadm/dsync/dsync-brain-mails.c
--- a/src/doveadm/dsync/dsync-brain-mails.c	Tue Aug 25 23:20:49 2015 +0300
+++ b/src/doveadm/dsync/dsync-brain-mails.c	Wed Aug 26 13:38:52 2015 +0200
@@ -90,6 +90,13 @@
 	return TRUE;
 }
 
+static void dsync_brain_send_end_of_list(struct dsync_brain *brain,
+					 enum dsync_ibc_eol_type type)
+{
+	i_assert(!brain->failed);
+	dsync_ibc_send_end_of_list(brain->ibc, type);
+}
+
 static void dsync_brain_send_mailbox_attribute(struct dsync_brain *brain)
 {
 	const struct dsync_mailbox_attribute *attr;
@@ -98,7 +105,7 @@
 		if (dsync_ibc_send_mailbox_attribute(brain->ibc, attr) == 0)
 			return;
 	}
-	dsync_ibc_send_end_of_list(brain->ibc, DSYNC_IBC_EOL_MAILBOX_ATTRIBUTE);
+	dsync_brain_send_end_of_list(brain, DSYNC_IBC_EOL_MAILBOX_ATTRIBUTE);
 	brain->box_send_state = DSYNC_BOX_STATE_CHANGES;
 }
 
@@ -130,7 +137,7 @@
 		if (dsync_ibc_send_change(brain->ibc, change) == 0)
 			return;
 	}
-	dsync_ibc_send_end_of_list(brain->ibc, DSYNC_IBC_EOL_MAIL_CHANGES);
+	dsync_brain_send_end_of_list(brain, DSYNC_IBC_EOL_MAIL_CHANGES);
 	if (brain->mail_requests && brain->box_importer != NULL)
 		brain->box_send_state = DSYNC_BOX_STATE_MAIL_REQUESTS;
 	else
@@ -170,7 +177,7 @@
 	if (brain->box_recv_state < DSYNC_BOX_STATE_MAIL_REQUESTS)
 		return FALSE;
 
-	dsync_ibc_send_end_of_list(brain->ibc, DSYNC_IBC_EOL_MAIL_REQUESTS);
+	dsync_brain_send_end_of_list(brain, DSYNC_IBC_EOL_MAIL_REQUESTS);
 	if (brain->box_exporter != NULL)
 		brain->box_send_state = DSYNC_BOX_STATE_MAILS;
 	else {
@@ -274,7 +281,7 @@
 	}
 
 	brain->box_send_state = DSYNC_BOX_STATE_DONE;
-	dsync_ibc_send_end_of_list(brain->ibc, DSYNC_IBC_EOL_MAILS);
+	dsync_brain_send_end_of_list(brain, DSYNC_IBC_EOL_MAILS);
 
 	dsync_brain_sync_half_finished(brain);
 	return TRUE;


More information about the dovecot-cvs mailing list