changeset 13935:b8fa70a81c8c

director: Find director's own IP earlier in init.
author Timo Sirainen <tss@iki.fi>
date Tue, 17 Jan 2012 15:44:26 +0200
parents 1a722c7676bb
children 352d3f2f8bb7
files src/director/director.c src/director/director.h src/director/main.c
diffstat 3 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/director/director.c	Thu Jan 12 23:09:25 2012 +0200
+++ b/src/director/director.c	Tue Jan 17 15:44:26 2012 +0200
@@ -48,7 +48,7 @@
 	i_fatal("director_servers doesn't list ourself");
 }
 
-static void director_find_self(struct director *dir)
+void director_find_self(struct director *dir)
 {
 	if (dir->self_host != NULL)
 		return;
@@ -126,7 +126,6 @@
 	struct director_host *const *hosts;
 	unsigned int i, count, self_idx;
 
-	director_find_self(dir);
 	self_idx = director_find_self_idx(dir);
 
 	/* try to connect to first working server on our right side.
--- a/src/director/director.h	Thu Jan 12 23:09:25 2012 +0200
+++ b/src/director/director.h	Tue Jan 17 15:44:26 2012 +0200
@@ -66,6 +66,7 @@
 	      const struct ip_addr *listen_ip, unsigned int listen_port,
 	      director_state_change_callback_t *callback);
 void director_deinit(struct director **dir);
+void director_find_self(struct director *dir);
 
 /* Start connecting to other directors */
 void director_connect(struct director *dir);
--- a/src/director/main.c	Thu Jan 12 23:09:25 2012 +0200
+++ b/src/director/main.c	Tue Jan 17 15:44:26 2012 +0200
@@ -150,6 +150,7 @@
 	director = director_init(set, &listen_ip, listen_port,
 				 director_state_changed);
 	director_host_add_from_string(director, set->director_servers);
+	director_find_self(director);
 	if (mail_hosts_parse_and_add(director->mail_hosts,
 				     set->director_mail_servers) < 0)
 		i_fatal("Invalid value for director_mail_servers setting");