Mercurial > dovecot > core-2.2
changeset 13277:030e33bde821
lib-master: Added master_service_client_connection_created()
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 23 Aug 2011 03:31:15 +0300 |
parents | c7fa03ee87c8 |
children | fa2425fd9cf4 |
files | src/lib-master/master-service.c src/lib-master/master-service.h |
diffstat | 2 files changed, 11 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-master/master-service.c Thu Aug 18 18:20:08 2011 +0300 +++ b/src/lib-master/master-service.c Tue Aug 23 03:31:15 2011 +0300 @@ -564,6 +564,13 @@ } } +void master_service_client_connection_created(struct master_service *service) +{ + i_assert(service->master_status.available_count > 0); + service->master_status.available_count--; + master_status_update(service); +} + void master_service_client_connection_accept(struct master_service_connection *conn) { conn->accepted = TRUE; @@ -744,9 +751,7 @@ conn.ssl = l->ssl; net_set_nonblock(conn.fd, TRUE); - i_assert(service->master_status.available_count > 0); - service->master_status.available_count--; - master_status_update(service); + master_service_client_connection_created(service); service->callback(&conn);
--- a/src/lib-master/master-service.h Thu Aug 18 18:20:08 2011 +0300 +++ b/src/lib-master/master-service.h Tue Aug 23 03:31:15 2011 +0300 @@ -129,6 +129,9 @@ void master_service_anvil_send(struct master_service *service, const char *cmd); /* Call to accept the client connection. Otherwise the connection is closed. */ void master_service_client_connection_accept(struct master_service_connection *conn); +/* Used to create "extra client connections" outside the common accept() + method. */ +void master_service_client_connection_created(struct master_service *service); /* Call whenever a client connection is destroyed. */ void master_service_client_connection_destroyed(struct master_service *service);