Mercurial > dovecot > core-2.2
changeset 13293:076a71f9a154
lib-master: Don't count FIFOs as clients anymore. We never see them disconnected.
This fixes a problem with shutdown_clients=no when a closed director process
could hang around forever waiting for the FIFO to close.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 26 Aug 2011 05:10:54 +0300 |
parents | 78f9f28b5d24 |
children | c51fbe64eae1 |
files | src/director/notify-connection.c src/lib-master/master-service.c src/log/log-connection.c |
diffstat | 3 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/director/notify-connection.c Fri Aug 26 05:09:25 2011 +0300 +++ b/src/director/notify-connection.c Fri Aug 26 05:10:54 2011 +0300 @@ -65,6 +65,4 @@ if (close(conn->fd) < 0) i_error("close(notify connection) failed: %m"); i_free(conn); - - master_service_client_connection_destroyed(master_service); }
--- a/src/lib-master/master-service.c Fri Aug 26 05:09:25 2011 +0300 +++ b/src/lib-master/master-service.c Fri Aug 26 05:10:54 2011 +0300 @@ -760,6 +760,11 @@ i_error("close(service connection) failed: %m"); master_service_client_connection_destroyed(service); } + if (conn.fifo) { + /* reading FIFOs stays open forever, don't count them + as real clients */ + master_service_client_connection_destroyed(service); + } } static void io_listeners_init(struct master_service *service)
--- a/src/log/log-connection.c Fri Aug 26 05:09:25 2011 +0300 +++ b/src/log/log-connection.c Fri Aug 26 05:10:54 2011 +0300 @@ -282,8 +282,6 @@ i_error("close(log connection fd) failed: %m"); i_free(log->default_prefix); i_free(log); - - master_service_client_connection_destroyed(master_service); } void log_connections_init(void)