Mercurial > dovecot > original-hg > dovecot-1.2
changeset 6309:f8c9b1a93521 HEAD
If read/write to client failed with some error, log it.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 24 Aug 2007 19:26:22 +0300 |
parents | b44b090d7c07 |
children | 15e10065a472 |
files | src/imap/client.c |
diffstat | 1 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/imap/client.c Wed Aug 22 16:24:30 2007 +0300 +++ b/src/imap/client.c Fri Aug 24 19:26:22 2007 +0300 @@ -91,6 +91,15 @@ return str_c(str); } +static const char *client_get_disconnect_reason(struct client *client) +{ + errno = client->input->stream_errno != 0 ? + client->input->stream_errno : + client->output->stream_errno; + return errno == 0 ? "Disconnected" : + t_strdup_printf("Disconnected: %m"); +} + void client_destroy(struct client *client, const char *reason) { i_assert(!client->destroyed); @@ -99,7 +108,7 @@ if (!client->disconnected) { client->disconnected = TRUE; if (reason == NULL) - reason = "Disconnected"; + reason = client_get_disconnect_reason(client); i_info("%s %s", reason, client_stats(client)); }