From 3301c929c2e1bffd8294918682e4b54ca2c0914c Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Sun, 13 Oct 2002 06:33:06 +0000
Subject: [PATCH] socket open callback is called immediately after accepting()
 incoming (TCP) connection, fixes double decrement of socket counter when
 rejecting connections from blocked IP addresses.

---
 src/sbbs3/services.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c
index cbef31873c..3361d87410 100644
--- a/src/sbbs3/services.c
+++ b/src/sbbs3/services.c
@@ -1553,6 +1553,8 @@ void DLLCALL services_thread(void* arg)
 								,service[i].socket, service[i].protocol, ERROR_VALUE);
 						break;
 					}
+					if(startup->socket_open!=NULL)
+						startup->socket_open(TRUE);	/* Callback, increments socket counter */
 				}
 				strcpy(host_ip,inet_ntoa(client_addr.sin_addr));
 
@@ -1592,9 +1594,6 @@ void DLLCALL services_thread(void* arg)
 					continue;
 				}
 
-				if(startup->socket_open!=NULL)
-					startup->socket_open(TRUE);	/* Callback */
-
 				memset(client,0,sizeof(service_client_t));
 				client->socket=client_socket;
 				client->addr=client_addr;
-- 
GitLab