From: Timo Sirainen Date: Wed, 15 Nov 2017 22:44:17 +0000 (+0200) Subject: director: Reconnect after detecting a write failure to director X-Git-Tag: 2.2.34~223 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2a31392913a69b41b7482a255c5528f598a260a5;p=thirdparty%2Fdovecot%2Fcore.git 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. --- diff --git a/src/director/director-connection.c b/src/director/director-connection.c index 69839b0efd..aacc58d964 100644 --- a/src/director/director-connection.c +++ b/src/director/director-connection.c @@ -2312,7 +2312,11 @@ static void director_connection_reconnect(struct director_connection **_conn, 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,