changeset 13757:49044b7cfa3d

lib-auth: Log a warning about auth disconnection only if there are pending requests.
author Timo Sirainen <tss@iki.fi>
date Wed, 23 Nov 2011 20:31:40 +0200
parents 540d9d296dc9
children b8e1c9685c69
files src/lib-auth/auth-server-connection.c
diffstat 1 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-auth/auth-server-connection.c	Wed Nov 23 19:51:06 2011 +0200
+++ b/src/lib-auth/auth-server-connection.c	Wed Nov 23 20:31:40 2011 +0200
@@ -243,7 +243,6 @@
 		return;
 	case -1:
 		/* disconnected */
-		i_error("Authentication server disconnected, reconnecting");
 		auth_server_connection_reconnect(conn);
 		return;
 	case -2:
@@ -309,7 +308,13 @@
 	static const char *const temp_failure_args[] = { "temp", NULL };
 	struct hash_iterate_context *iter;
 	void *key, *value;
+	unsigned int request_count = hash_table_count(conn->requests);
 
+	if (request_count == 0)
+		return;
+
+	i_warning("Auth connection closed with %u pending requests",
+		  request_count);
 	iter = hash_table_iterate_init(conn->requests);
 	while (hash_table_iterate(iter, &key, &value)) {
 		struct auth_client_request *request = value;
@@ -378,6 +383,7 @@
 	*_conn = NULL;
 
 	auth_server_connection_disconnect(conn);
+	i_assert(hash_table_count(conn->requests) == 0);
 	hash_table_destroy(&conn->requests);
 	array_free(&conn->available_auth_mechs);
 	pool_unref(&conn->pool);