From a345dbfa1c34a134f35100245dd6102f07126c5f Mon Sep 17 00:00:00 2001 From: Rob Swindell <rob@synchro.net> Date: Sun, 4 Dec 2022 17:11:12 -0800 Subject: [PATCH] Updated to use new startup_t set_state() callback --- src/sbbs3/ntsvcs.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/sbbs3/ntsvcs.c b/src/sbbs3/ntsvcs.c index 3f83ccbeb3..9547f7a2db 100644 --- a/src/sbbs3/ntsvcs.c +++ b/src/sbbs3/ntsvcs.c @@ -325,13 +325,15 @@ static int svc_lputs(void* p, int level, const char* str) /* Shared Service Callback Routines */ /************************************/ -static void svc_started(void* p) +static void svc_set_state(void* p, enum server_state state) { sbbs_ntsvc_t* svc = (sbbs_ntsvc_t*)p; - svc->status.dwCurrentState=SERVICE_RUNNING; - svc->status.dwControlsAccepted|=SERVICE_ACCEPT_STOP; - SetServiceStatus(svc->status_handle, &svc->status); + if(state == SERVER_READY) { + svc->status.dwCurrentState=SERVICE_RUNNING; + svc->status.dwControlsAccepted|=SERVICE_ACCEPT_STOP; + SetServiceStatus(svc->status_handle, &svc->status); + } } static void read_ini(sbbs_ntsvc_t* svc) @@ -1180,7 +1182,7 @@ int main(int argc, char** argv) bbs_startup.lputs=svc_lputs; bbs_startup.event_cbdata=&event; bbs_startup.event_lputs=svc_lputs; - bbs_startup.started=svc_started; + bbs_startup.set_state=svc_set_state; bbs_startup.recycle=svc_recycle; bbs_startup.terminated=svc_terminated; bbs_startup.clients=svc_clients; @@ -1192,7 +1194,7 @@ int main(int argc, char** argv) ftp_startup.cbdata=&ftp; ftp_startup.size=sizeof(ftp_startup); ftp_startup.lputs=svc_lputs; - ftp_startup.started=svc_started; + ftp_startup.set_state=svc_set_state; ftp_startup.recycle=svc_recycle; ftp_startup.terminated=svc_terminated; ftp_startup.clients=svc_clients; @@ -1204,7 +1206,7 @@ int main(int argc, char** argv) web_startup.cbdata=&web; web_startup.size=sizeof(web_startup); web_startup.lputs=svc_lputs; - web_startup.started=svc_started; + web_startup.set_state=svc_set_state; web_startup.recycle=svc_recycle; web_startup.terminated=svc_terminated; web_startup.clients=svc_clients; @@ -1216,7 +1218,7 @@ int main(int argc, char** argv) mail_startup.cbdata=&mail; mail_startup.size=sizeof(mail_startup); mail_startup.lputs=svc_lputs; - mail_startup.started=svc_started; + mail_startup.set_state=svc_set_state; mail_startup.recycle=svc_recycle; mail_startup.terminated=svc_terminated; mail_startup.clients=svc_clients; @@ -1228,7 +1230,7 @@ int main(int argc, char** argv) services_startup.cbdata=&services; services_startup.size=sizeof(services_startup); services_startup.lputs=svc_lputs; - services_startup.started=svc_started; + services_startup.set_state=svc_set_state; services_startup.recycle=svc_recycle; services_startup.terminated=svc_terminated; services_startup.clients=svc_clients; -- GitLab