dovecot-2.0: dsync: If remote dsync times out, log a more verbos...

dovecot at dovecot.org dovecot at dovecot.org
Sat Mar 12 15:52:59 EET 2011


details:   http://hg.dovecot.org/dovecot-2.0/rev/4b537650b4de
changeset: 12674:4b537650b4de
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Mar 12 15:48:24 2011 +0200
description:
dsync: If remote dsync times out, log a more verbose reason.

diffstat:

 src/dsync/dsync-proxy-client.c |  16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diffs (26 lines):

diff -r e83eec6d0126 -r 4b537650b4de src/dsync/dsync-proxy-client.c
--- a/src/dsync/dsync-proxy-client.c	Sat Mar 12 15:27:54 2011 +0200
+++ b/src/dsync/dsync-proxy-client.c	Sat Mar 12 15:48:24 2011 +0200
@@ -387,7 +387,21 @@
 static void
 proxy_client_worker_timeout(struct proxy_client_dsync_worker *worker)
 {
-	i_error("proxy client timed out");
+	const char *reason;
+
+	if (worker->save_io != NULL)
+		reason = " (waiting for more input from mail being saved)";
+	else if (worker->save_input != NULL) {
+		size_t bytes = o_stream_get_buffer_used_size(worker->output);
+
+		reason = t_strdup_printf(" (waiting for output stream to flush, "
+					 "%"PRIuSIZE_T" bytes left)", bytes);
+	} else if (worker->msg_get_data.input != NULL) {
+		reason = " (waiting for MSG-GET message from remote)";
+	} else {
+		reason = "";
+	}
+	i_error("proxy client timed out%s", reason);
 	proxy_client_fail(worker);
 }
 


More information about the dovecot-cvs mailing list