diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index 6aac487bd34980237bbfd0f0a84968f703105684..732e883f38f5a04055726d48065b2faf66f85e27 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -4691,6 +4691,8 @@ void DLLCALL ftp_server(void* arg) initialized=t; break; } + if(startup->recycle_sem!=NULL && sem_trywait(&startup->recycle_sem)==0) + startup->recycle_now=TRUE; if(!active_clients && startup->recycle_now==TRUE) { lprintf("0000 Recycle semaphore signaled"); startup->recycle_now=FALSE; diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c index fbe4ebca513cd786a948c289a5d3732880f28892..2b3ed7666ce0d0fd5e4794005b4ad76eb44ce81a 100644 --- a/src/sbbs3/mailsrvr.c +++ b/src/sbbs3/mailsrvr.c @@ -3706,6 +3706,8 @@ void DLLCALL mail_server(void* arg) initialized=t; break; } + if(startup->recycle_sem!=NULL && sem_trywait(&startup->recycle_sem)==0) + startup->recycle_now=TRUE; if(!active_clients && startup->recycle_now==TRUE) { lprintf("0000 Recycle semaphore signaled"); startup->recycle_now=FALSE; diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index fbdb841fae81ab0fe647e19fed4743048a1d60f8..66c7ed09ed14cc78b515dd893b909c3e70a13f0d 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -3974,6 +3974,8 @@ void DLLCALL bbs_thread(void* arg) initialized=t; break; } + if(startup->recycle_sem!=NULL && sem_trywait(&startup->recycle_sem)==0) + startup->recycle_now=TRUE; if(startup->recycle_now==TRUE) { lprintf("0000 Recycle semaphore signaled"); startup->recycle_now=FALSE; diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c index cb5c79c1903f49a1ddb2d74424edd6c5486f64e9..783e8be9297232244f0c95cd162483ebb5990d58 100644 --- a/src/sbbs3/services.c +++ b/src/sbbs3/services.c @@ -1833,6 +1833,8 @@ void DLLCALL services_thread(void* arg) initialized=t; break; } + if(startup->recycle_sem!=NULL && sem_trywait(&startup->recycle_sem)==0) + startup->recycle_now=TRUE; if(!total_clients && startup->recycle_now==TRUE) { lprintf("0000 Recycle semaphore signaled"); startup->recycle_now=FALSE; diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c index 2474fefe389ba0b72f3ea01e73f7d4613866ab20..c09179c46051a5db0949fc70d73c2f19529bf507 100644 --- a/src/sbbs3/websrvr.c +++ b/src/sbbs3/websrvr.c @@ -2609,6 +2609,8 @@ void DLLCALL web_server(void* arg) initialized=t; break; } + if(startup->recycle_sem!=NULL && sem_trywait(&startup->recycle_sem)==0) + startup->recycle_now=TRUE; if(!active_clients && startup->recycle_now==TRUE) { lprintf("0000 Recycle semaphore signaled"); startup->recycle_now=FALSE;