Skip to content
Snippets Groups Projects
Commit 9811593b authored by rswindell's avatar rswindell
Browse files

Automatically recycle whenever ctrl/services.ini is modified.

parent 34b648ed
No related branches found
No related tags found
No related merge requests found
......@@ -1443,7 +1443,7 @@ void DLLCALL services_terminate(void)
#define NEXT_FIELD(p) FIND_WHITESPACE(p); SKIP_WHITESPACE(p)
static service_t* read_services_ini(service_t* service, uint32_t* services)
static service_t* read_services_ini(const char* services_ini, service_t* service, uint32_t* services)
{
uint i,j;
FILE* fp;
......@@ -1452,7 +1452,6 @@ static service_t* read_services_ini(service_t* service, uint32_t* services)
char host[INI_MAX_VALUE_LEN];
char prot[INI_MAX_VALUE_LEN];
char portstr[INI_MAX_VALUE_LEN];
char services_ini[MAX_PATH+1];
char** sec_list;
str_list_t list;
service_t* np;
......@@ -1463,8 +1462,6 @@ static service_t* read_services_ini(service_t* service, uint32_t* services)
uint32_t options;
uint32_t stack_size;
iniFileName(services_ini,sizeof(services_ini),scfg.ctrl_dir,"services.ini");
if((fp=fopen(services_ini,"r"))==NULL) {
lprintf(LOG_ERR,"!ERROR %d opening %s", errno, services_ini);
return(NULL);
......@@ -1613,6 +1610,7 @@ void DLLCALL services_thread(void* arg)
char host_ip[32];
char compiler[32];
char str[128];
char services_ini[MAX_PATH+1];
SOCKADDR_IN addr;
SOCKADDR_IN client_addr;
socklen_t client_addr_len;
......@@ -1734,7 +1732,9 @@ void DLLCALL services_thread(void* arg)
if(uptime==0)
uptime=time(NULL); /* this must be done *after* setting the timezone */
if((service=read_services_ini(service, &services))==NULL) {
iniFileName(services_ini,sizeof(services_ini),scfg.ctrl_dir,"services.ini");
if((service=read_services_ini(services_ini, service, &services))==NULL) {
cleanup(1);
return;
}
......@@ -1844,6 +1844,7 @@ void DLLCALL services_thread(void* arg)
recycle_semfiles=semfile_list_init(scfg.ctrl_dir,"recycle","services");
SAFEPRINTF(path,"%sservices.rec",scfg.ctrl_dir); /* legacy */
semfile_list_add(&recycle_semfiles,path);
semfile_list_add(&recycle_semfiles,services_ini);
if(!initialized) {
semfile_list_check(&initialized,recycle_semfiles);
semfile_list_check(&initialized,shutdown_semfiles);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment