From: Timo Sirainen Date: Wed, 19 May 2010 16:49:25 +0000 (+0200) Subject: director: If we logged that we're delaying connections, also log when we continue. X-Git-Tag: 2.0.beta6~187 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4aab01f4eade3d278b61471516c062ce30a84b5f;p=thirdparty%2Fdovecot%2Fcore.git director: If we logged that we're delaying connections, also log when we continue. --HG-- branch : HEAD --- diff --git a/src/director/director-connection.c b/src/director/director-connection.c index 68172ed605..4ed8c8d265 100644 --- a/src/director/director-connection.c +++ b/src/director/director-connection.c @@ -431,8 +431,7 @@ static bool director_connection_sync(struct director_connection *conn, return TRUE; /* the ring is handshaked */ - conn->dir->ring_handshaked = TRUE; - director_set_state_changed(conn->dir); + director_set_ring_handshaked(conn->dir); return TRUE; } diff --git a/src/director/director.c b/src/director/director.c index 24cf379ad6..01164075e8 100644 --- a/src/director/director.c +++ b/src/director/director.c @@ -115,11 +115,22 @@ void director_connect(struct director *dir) } if (i == count) { /* we're the only one */ - dir->ring_handshaked = TRUE; - director_set_state_changed(dir); + director_set_ring_handshaked(dir); } } +void director_set_ring_handshaked(struct director *dir) +{ + if (dir->ring_handshake_warning_sent) { + i_warning("Directors have been connected, " + "continuing delayed connections"); + dir->ring_handshake_warning_sent = FALSE; + } + + dir->ring_handshaked = TRUE; + director_set_state_changed(dir); +} + void director_update_host(struct director *dir, struct director_host *src, struct mail_host *host) { diff --git a/src/director/director.h b/src/director/director.h index 23b5494d80..65890e822f 100644 --- a/src/director/director.h +++ b/src/director/director.h @@ -69,6 +69,7 @@ void director_deinit(struct director **dir); /* Start connecting to other directors */ void director_connect(struct director *dir); +void director_set_ring_handshaked(struct director *dir); void director_set_state_changed(struct director *dir); void director_update_host(struct director *dir, struct director_host *src,