dovecot-2.0: director: Make sure all director connections are de...
dovecot at dovecot.org
dovecot at dovecot.org
Thu Jul 8 15:58:39 EEST 2010
details: http://hg.dovecot.org/dovecot-2.0/rev/ea4701f11668
changeset: 11757:ea4701f11668
user: Timo Sirainen <tss at iki.fi>
date: Thu Jul 08 13:58:35 2010 +0100
description:
director: Make sure all director connections are deinitialized at exit.
diffstat:
src/director/director-connection.c | 11 +++++++++++
src/director/director-connection.h | 2 ++
src/director/director.c | 6 +-----
3 files changed, 14 insertions(+), 5 deletions(-)
diffs (44 lines):
diff -r 5113bada22b2 -r ea4701f11668 src/director/director-connection.c
--- a/src/director/director-connection.c Thu Jul 08 13:48:10 2010 +0100
+++ b/src/director/director-connection.c Thu Jul 08 13:58:35 2010 +0100
@@ -1135,3 +1135,14 @@
director_connection_ping, conn);
conn->sync_ping = TRUE;
}
+
+void director_connections_deinit(struct director *dir)
+{
+ struct director_connection *conn;
+
+ while (dir->connections != NULL) {
+ conn = dir->connections;
+ dir->connections = conn->next;
+ director_connection_deinit(&conn);
+ }
+}
diff -r 5113bada22b2 -r ea4701f11668 src/director/director-connection.h
--- a/src/director/director-connection.h Thu Jul 08 13:48:10 2010 +0100
+++ b/src/director/director-connection.h Thu Jul 08 13:58:35 2010 +0100
@@ -29,4 +29,6 @@
void director_connection_cork(struct director_connection *conn);
void director_connection_uncork(struct director_connection *conn);
+void director_connections_deinit(struct director *dir);
+
#endif
diff -r 5113bada22b2 -r ea4701f11668 src/director/director.c
--- a/src/director/director.c Thu Jul 08 13:48:10 2010 +0100
+++ b/src/director/director.c Thu Jul 08 13:58:35 2010 +0100
@@ -381,11 +381,7 @@
*_dir = NULL;
- if (dir->left != NULL)
- director_connection_deinit(&dir->left);
- if (dir->right != NULL)
- director_connection_deinit(&dir->right);
-
+ director_connections_deinit(dir);
user_directory_deinit(&dir->users);
mail_hosts_deinit(&dir->mail_hosts);
mail_hosts_deinit(&dir->orig_config_hosts);
More information about the dovecot-cvs
mailing list