Added more logging when a monitor script cannot be executed.
This commit is contained in:
parent
b815a79628
commit
7dbc021149
@ -97,6 +97,23 @@ EXTERNCMD* externcmd_allocate(char* argstr)
|
||||
free(cmd);
|
||||
return NULL;
|
||||
}
|
||||
if(access(cmd->parameters[0],F_OK) != 0)
|
||||
{
|
||||
skygw_log_write(LE,
|
||||
"Error: Cannot find file: %s",
|
||||
cmd->parameters[0]);
|
||||
externcmd_free(cmd);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if(access(cmd->parameters[0],X_OK) != 0)
|
||||
{
|
||||
skygw_log_write(LE,
|
||||
"Error: Cannot execute file: %s",
|
||||
cmd->parameters[0]);
|
||||
externcmd_free(cmd);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
return cmd;
|
||||
}
|
||||
@ -138,7 +155,7 @@ int externcmd_execute(EXTERNCMD* cmd)
|
||||
{
|
||||
/** Child process, execute command */
|
||||
execvp(cmd->parameters[0],cmd->parameters);
|
||||
exit(1);
|
||||
_exit(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -156,7 +156,17 @@ startMonitor(void *arg,void* opt)
|
||||
{
|
||||
if(handle->script)
|
||||
free(handle->script);
|
||||
handle->script = strdup(params->value);
|
||||
if(access(params->value,X_OK) == 0)
|
||||
{
|
||||
handle->script = strdup(params->value);
|
||||
}
|
||||
else
|
||||
{
|
||||
skygw_log_write(LE,
|
||||
"Error: The file cannot be executed: %s",
|
||||
params->value);
|
||||
handle->script = NULL;
|
||||
}
|
||||
}
|
||||
else if(!strcmp(params->name,"events"))
|
||||
{
|
||||
|
@ -142,8 +142,17 @@ startMonitor(void *arg,void* opt)
|
||||
{
|
||||
free(handle->script);
|
||||
}
|
||||
|
||||
handle->script = strdup(params->value);
|
||||
if(access(params->value,X_OK) == 0)
|
||||
{
|
||||
handle->script = strdup(params->value);
|
||||
}
|
||||
else
|
||||
{
|
||||
skygw_log_write(LE,
|
||||
"Error: The file cannot be executed: %s",
|
||||
params->value);
|
||||
handle->script = NULL;
|
||||
}
|
||||
}
|
||||
else if(!strcmp(params->name,"events"))
|
||||
{
|
||||
|
@ -303,7 +303,11 @@ void monitor_launch_script(MONITOR* mon,MONITOR_SERVERS* ptr, char* script)
|
||||
ptr->server->unique_name);
|
||||
|
||||
mon_append_node_names(mon->databases,argstr,PATH_MAX + MON_ARG_MAX + 1);
|
||||
cmd = externcmd_allocate(argstr);
|
||||
if((cmd = externcmd_allocate(argstr)) == NULL)
|
||||
{
|
||||
skygw_log_write(LE,"Failed to execute script: %s",script);
|
||||
return;
|
||||
}
|
||||
|
||||
if(externcmd_execute(cmd))
|
||||
{
|
||||
|
@ -170,7 +170,17 @@ startMonitor(void *arg, void* opt)
|
||||
{
|
||||
if(handle->script)
|
||||
free(handle->script);
|
||||
handle->script = strdup(params->value);
|
||||
if(access(params->value,X_OK) == 0)
|
||||
{
|
||||
handle->script = strdup(params->value);
|
||||
}
|
||||
else
|
||||
{
|
||||
skygw_log_write(LE,
|
||||
"Error: The file cannot be executed: %s",
|
||||
params->value);
|
||||
handle->script = NULL;
|
||||
}
|
||||
}
|
||||
else if(!strcmp(params->name,"events"))
|
||||
{
|
||||
|
@ -132,7 +132,17 @@ startMonitor(void *arg,void* opt)
|
||||
{
|
||||
if(handle->script)
|
||||
free(handle->script);
|
||||
handle->script = strdup(params->value);
|
||||
if(access(params->value,X_OK) == 0)
|
||||
{
|
||||
handle->script = strdup(params->value);
|
||||
}
|
||||
else
|
||||
{
|
||||
skygw_log_write(LE,
|
||||
"Error: The file cannot be executed: %s",
|
||||
params->value);
|
||||
handle->script = NULL;
|
||||
}
|
||||
}
|
||||
else if(!strcmp(params->name,"events"))
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user