Mercurial > dovecot > core-2.2
changeset 12351:d46a3fca7259
dsync: If msg input reading fails, don't also log a wrong "Unknown internal error" line.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 25 Oct 2010 18:26:50 +0100 |
parents | 1b2caff94b49 |
children | f52d4d77f16f |
files | src/dsync/dsync-worker-local.c |
diffstat | 1 files changed, 11 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- 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;