dovecot-2.0: dsync: If msg input reading fails, don't also log a...

dovecot at dovecot.org dovecot at dovecot.org
Mon Oct 25 20:26:55 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/d46a3fca7259
changeset: 12351:d46a3fca7259
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Oct 25 18:26:50 2010 +0100
description:
dsync: If msg input reading fails, don't also log a wrong "Unknown internal error" line.

diffstat:

 src/dsync/dsync-worker-local.c |  21 +++++++++++----------
 1 files changed, 11 insertions(+), 10 deletions(-)

diffs (40 lines):

diff -r 1b2caff94b49 -r d46a3fca7259 src/dsync/dsync-worker-local.c
--- a/src/dsync/dsync-worker-local.c	Mon Oct 25 18:11:04 2010 +0100
+++ b/src/dsync/dsync-worker-local.c	Mon Oct 25 18:26:50 2010 +0100
@@ -1630,7 +1630,7 @@
 {
 	struct mailbox *dest_box = worker->ext_mail->box;
 	dsync_worker_save_callback_t *callback;
-	int ret;
+	ssize_t ret;
 
 	while ((ret = i_stream_read(worker->save_input)) > 0) {
 		if (mailbox_save_continue(worker->save_ctx) < 0)
@@ -1654,17 +1654,18 @@
 		errno = worker->save_input->stream_errno;
 		i_error("read(msg input) failed: %m");
 		mailbox_save_cancel(&worker->save_ctx);
-		ret = -1;
+		dsync_worker_set_failure(&worker->worker);
 	} else {
 		i_assert(worker->save_input->eof);
-		ret = mailbox_save_finish(&worker->save_ctx);
-	}
-	if (ret < 0) {
-		struct mail_storage *storage = mailbox_get_storage(dest_box);
-		i_error("Can't save message to mailbox %s: %s",
-			mailbox_get_vname(dest_box),
-			mail_storage_get_last_error(storage, NULL));
-		dsync_worker_set_failure(&worker->worker);
+		if (mailbox_save_finish(&worker->save_ctx) < 0) {
+			struct mail_storage *storage =
+				mailbox_get_storage(dest_box);
+
+			i_error("Can't save message to mailbox %s: %s",
+				mailbox_get_vname(dest_box),
+				mail_storage_get_last_error(storage, NULL));
+			dsync_worker_set_failure(&worker->worker);
+		}
 	}
 	callback = worker->save_callback;
 	worker->save_callback = NULL;


More information about the dovecot-cvs mailing list