Mercurial > dovecot > core-2.2
changeset 22666:0b8c69533353
director: Reconnect after detecting a write failure to director
If disconnection is detected during write failure, or "Output buffer full"
occurs, the connection is disconnected. However, if this was the right side
connection, it wasn't automatically reconnected to. This left the ring
nonworking.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Thu, 16 Nov 2017 00:44:17 +0200 |
parents | 2cd3df7171e1 |
children | 6b14fe31f657 |
files | src/director/director-connection.c |
diffstat | 1 files changed, 4 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/director/director-connection.c Thu Sep 21 00:38:33 2017 +0200 +++ b/src/director/director-connection.c Thu Nov 16 00:44:17 2017 +0200 @@ -2312,7 +2312,11 @@ static void director_disconnect_write_error(struct director_connection *conn) { + struct director *dir = conn->dir; + director_connection_deinit(&conn, "write failure"); + if (dir->right == NULL) + director_connect(dir, "Reconnecting after write failure"); } void director_connection_send(struct director_connection *conn,