diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c index b0d3c69a96fea4bd392cdea1290cc760a73b0ac9..a8e490561c3394e30e3763916022544316a82a3f 100644 --- a/src/sbbs3/services.c +++ b/src/sbbs3/services.c @@ -985,6 +985,7 @@ void DLLCALL services_thread(void* arg) time_t initialized; fd_set socket_set; SOCKET high_socket; + ulong total_sockets; struct timeval tv; service_client_t* client; @@ -1083,6 +1084,7 @@ void DLLCALL services_thread(void* arg) } /* Open and Bind Listening Sockets */ + total_sockets=0; for(i=0;i<(int)services;i++) { service[i].socket=INVALID_SOCKET; @@ -1116,6 +1118,13 @@ void DLLCALL services_thread(void* arg) continue; } service[i].socket=socket; + total_sockets++; + } + + if(!total_sockets) { + lprintf("0000 !No service sockets bound"); + cleanup(1); + return; } if(startup->setuid!=NULL)