changeset 8073:f27ecc07d93a HEAD

login processes: Another try at setting the correct fd limit.
author Timo Sirainen <tss@iki.fi>
date Wed, 06 Aug 2008 12:54:05 -0400
parents f6cff15160d4
children 05565bfadc6b
files src/login-common/main.c
diffstat 1 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/login-common/main.c	Wed Aug 06 12:48:02 2008 -0400
+++ b/src/login-common/main.c	Wed Aug 06 12:54:05 2008 -0400
@@ -224,10 +224,10 @@
 
 	current_count = clients_get_count() + ssl_proxy_get_count() +
 		login_proxy_get_count();
-	if (current_count + connection_count + 1 >= max_connections) {
+	if (current_count + connection_count + 2 >= max_connections) {
 		/* after this client we've reached max users count,
-		   so stop listening for more. reserve +1 extra for SSL
-		   connections. */
+		   so stop listening for more. reserve +2 extra for SSL with
+		   login proxy connections. */
 		main_listen_stop();
 
 		if (current_count >= max_connections) {
@@ -282,9 +282,11 @@
 	max_connections = value == NULL ? 1 : strtoul(value, NULL, 10);
 
 	/* set the number of fds we want to use. it may get increased or
-	   decreased. leave a couple of extra fds for auth sockets and such */
+	   decreased. leave a couple of extra fds for auth sockets and such.
+	   normal connections each use one fd, but SSL connections use two */
 	restrict_fd_limit(LOGIN_MASTER_SOCKET_FD + 16 +
-			  listen_count + ssl_listen_count + max_connections);
+			  listen_count + ssl_listen_count +
+			  max_connections*2);
 
 	/* Refuse to run as root - we should never need it and it's
 	   dangerous with SSL. */