res_statsd.c: Fix returned reload status.

The return status when there was no change in statsd.conf was incorrect.
This resulted in the wrong status message on the CLI when reloading the
module.

* Fixed cleanup on initial load if initializing statsd failed.

Change-Id: Id24fae75f1a7ff584a444a5680e867d989792481
13.24
Richard Mudgett 7 years ago
parent 39698e1dfd
commit ccdb53a1ca

@ -318,6 +318,14 @@ static void statsd_shutdown(void)
}
}
static int unload_module(void)
{
statsd_shutdown();
aco_info_destroy(&cfg_info);
ao2_global_obj_release(confs);
return 0;
}
static int load_module(void)
{
if (aco_info_init(&cfg_info)) {
@ -350,8 +358,8 @@ static int load_module(void)
return AST_MODULE_LOAD_SUCCESS;
}
if (statsd_init() != 0) {
aco_info_destroy(&cfg_info);
if (statsd_init()) {
unload_module();
return AST_MODULE_LOAD_DECLINE;
}
@ -361,26 +369,26 @@ static int load_module(void)
return AST_MODULE_LOAD_SUCCESS;
}
static int unload_module(void)
{
statsd_shutdown();
aco_info_destroy(&cfg_info);
ao2_global_obj_release(confs);
return 0;
}
static int reload_module(void)
{
if (aco_process_config(&cfg_info, 1)) {
switch (aco_process_config(&cfg_info, 1)) {
case ACO_PROCESS_OK:
break;
case ACO_PROCESS_UNCHANGED:
return AST_MODULE_LOAD_SUCCESS;
case ACO_PROCESS_ERROR:
default:
return AST_MODULE_LOAD_DECLINE;
}
if (is_enabled()) {
return statsd_init();
if (statsd_init()) {
return AST_MODULE_LOAD_DECLINE;
}
} else {
statsd_shutdown();
return AST_MODULE_LOAD_SUCCESS;
}
return AST_MODULE_LOAD_SUCCESS;
}
/* The priority of this module is set to be as low as possible, since it could

Loading…
Cancel
Save