dovecot-2.2: indexer: Removed counting worker processes as servi...

dovecot at dovecot.org dovecot at dovecot.org
Mon Aug 17 09:57:13 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/622ce8582a8e
changeset: 18941:622ce8582a8e
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Aug 17 12:56:25 2015 +0300
description:
indexer: Removed counting worker processes as service clients to prevent idle-kill.
lib-master handles this internally now. Also if the max client count was
reached, we assert-crashed:

indexer: Panic: file master-service.c: line 672
(master_service_client_connection_created): assertion failed:
(service->master_status.available_count > 0)

diffstat:

 src/indexer/worker-pool.c |  6 ------
 1 files changed, 0 insertions(+), 6 deletions(-)

diffs (30 lines):

diff -r ec912a6039f5 -r 622ce8582a8e src/indexer/worker-pool.c
--- a/src/indexer/worker-pool.c	Mon Aug 17 12:53:52 2015 +0300
+++ b/src/indexer/worker-pool.c	Mon Aug 17 12:56:25 2015 +0300
@@ -49,7 +49,6 @@
 		struct worker_connection_list *list = pool->busy_list;
 
 		DLLIST_REMOVE(&pool->busy_list, list);
-		master_service_client_connection_destroyed(master_service);
 		worker_connection_list_free(pool, list);
 	}
 
@@ -144,10 +143,6 @@
 	list = pool->idle_list;
 	DLLIST_REMOVE(&pool->idle_list, list);
 	DLLIST_PREPEND(&pool->busy_list, list);
-	/* treat worker connection as another client. this is required (once,
-	   at least) so that master doesn't think we are busy doing nothing and
-	   ignoring an idle-kill. */
-	master_service_client_connection_created(master_service);
 
 	*conn_r = list->conn;
 	return TRUE;
@@ -185,7 +180,6 @@
 	i_assert(list != NULL);
 
 	DLLIST_REMOVE(&pool->busy_list, list);
-	master_service_client_connection_destroyed(master_service);
 
 	if (!worker_connection_is_connected(conn))
 		worker_connection_list_free(pool, list);


More information about the dovecot-cvs mailing list