mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-02 19:16:15 +00:00
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
This commit is contained in:
@@ -316,6 +316,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)) {
|
||||
@@ -364,34 +372,34 @@ 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;
|
||||
}
|
||||
|
||||
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 just after realtime, since it loads
|
||||
|
Reference in New Issue
Block a user