]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
director: If we logged that we're delaying connections, also log when we continue.
authorTimo Sirainen <tss@iki.fi>
Wed, 19 May 2010 16:49:25 +0000 (18:49 +0200)
committerTimo Sirainen <tss@iki.fi>
Wed, 19 May 2010 16:49:25 +0000 (18:49 +0200)
--HG--
branch : HEAD

src/director/director-connection.c
src/director/director.c
src/director/director.h

index 68172ed605cee39b65ac36ac2ebc2191e0dc2bca..4ed8c8d2654a909dc2a8f9c6677dce3072ef5878 100644 (file)
@@ -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;
        }
 
index 24cf379ad68563e6ff8f464a58c40f08b65222b2..01164075e8a95cd8bd700a62a1e61cdc8e7dc74a 100644 (file)
@@ -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)
 {
index 23b5494d807dbb35170f72b764fc5f83ce8742e9..65890e822fb212ee15d0983eb141feeb630e03a9 100644 (file)
@@ -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,