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);