Fix to MXS-447: https://mariadb.atlassian.net/browse/MXS-447
Monitors are now started after they have been fully configured.
This commit is contained in:
@ -118,6 +118,7 @@ MONITOR *ptr;
|
||||
ptr->next = mon->next;
|
||||
}
|
||||
spinlock_release(&monLock);
|
||||
free_config_parameter(mon->parameters);
|
||||
free(mon->name);
|
||||
free(mon);
|
||||
}
|
||||
@ -137,6 +138,23 @@ monitorStart(MONITOR *monitor, void* params)
|
||||
spinlock_release(&monitor->lock);
|
||||
}
|
||||
|
||||
/**
|
||||
* Start all monitors
|
||||
*/
|
||||
void monitorStartAll()
|
||||
{
|
||||
MONITOR *ptr;
|
||||
|
||||
spinlock_acquire(&monLock);
|
||||
ptr = allMonitors;
|
||||
while (ptr)
|
||||
{
|
||||
monitorStart(ptr, ptr->parameters);
|
||||
ptr = ptr->next;
|
||||
}
|
||||
spinlock_release(&monLock);
|
||||
}
|
||||
|
||||
/**
|
||||
* Stop a given monitor
|
||||
*
|
||||
@ -522,3 +540,22 @@ bool check_monitor_permissions(MONITOR* monitor)
|
||||
free(dpasswd);
|
||||
return rval;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add parameters to the monitor
|
||||
* @param monitor Monitor
|
||||
* @param params Config parameters
|
||||
*/
|
||||
void monitorAddParameters(MONITOR *monitor, CONFIG_PARAMETER *params)
|
||||
{
|
||||
while (params)
|
||||
{
|
||||
CONFIG_PARAMETER* clone = config_clone_param(params);
|
||||
if (clone)
|
||||
{
|
||||
clone->next = monitor->parameters;
|
||||
monitor->parameters = clone;
|
||||
}
|
||||
params = params->next;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user