diff src/director/director-connection.c @ 22256:29ae473d0b7c

director: Fix logging last input/output time when there was no input/output
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Mon, 19 Jun 2017 12:05:30 +0300
parents a841e797bac2
children 25af9d4dad59
line wrap: on
line diff
--- a/src/director/director-connection.c	Mon Jun 19 12:03:13 2017 +0300
+++ b/src/director/director-connection.c	Mon Jun 19 12:05:30 2017 +0300
@@ -166,11 +166,16 @@
 	int output_msecs = timeval_diff_msecs(&ioloop_timeval, &conn->last_output);
 	int connected_msecs = timeval_diff_msecs(&ioloop_timeval, &conn->connected_time);
 
-	str_printfa(str, "bytes in=%"PRIuUOFF_T", bytes out=%"PRIuUOFF_T", "
-		    "last input %u.%03u s ago, last output %u.%03u s ago",
-		    conn->input->v_offset, conn->output->offset,
-		    input_msecs/1000, input_msecs%1000,
-		    output_msecs/1000, output_msecs%1000);
+	str_printfa(str, "bytes in=%"PRIuUOFF_T", bytes out=%"PRIuUOFF_T,
+		    conn->input->v_offset, conn->output->offset);
+	if (conn->last_input.tv_sec > 0) {
+		str_printfa(str, ", last input %u.%03u s ago",
+			    input_msecs/1000, input_msecs%1000);
+	}
+	if (conn->last_output.tv_sec > 0) {
+		str_printfa(str, ", last output %u.%03u s ago",
+			    output_msecs/1000, output_msecs%1000);
+	}
 	if (conn->connected) {
 		str_printfa(str, ", connected %u.%03u s ago",
 			    connected_msecs/1000, connected_msecs%1000);