mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 20:04:50 +00:00
loader: Fix result of module reload error.
When a module reload fails we never set AST_MODULE_RELOAD_ERROR. This caused reload failures to incorrectly report 'No module found'. Change-Id: I5f3953e0f7d135e53ec797f24c97ee3f73f232e7
This commit is contained in:
@@ -1350,14 +1350,14 @@ enum ast_module_reload_result ast_module_reload(const char *name)
|
|||||||
|
|
||||||
if (ast_opt_lock_confdir) {
|
if (ast_opt_lock_confdir) {
|
||||||
int try;
|
int try;
|
||||||
int res;
|
int lockres;
|
||||||
for (try = 1, res = AST_LOCK_TIMEOUT; try < 6 && (res == AST_LOCK_TIMEOUT); try++) {
|
for (try = 1, lockres = AST_LOCK_TIMEOUT; try < 6 && (lockres == AST_LOCK_TIMEOUT); try++) {
|
||||||
res = ast_lock_path(ast_config_AST_CONFIG_DIR);
|
lockres = ast_lock_path(ast_config_AST_CONFIG_DIR);
|
||||||
if (res == AST_LOCK_TIMEOUT) {
|
if (lockres == AST_LOCK_TIMEOUT) {
|
||||||
ast_log(LOG_WARNING, "Failed to grab lock on %s, try %d\n", ast_config_AST_CONFIG_DIR, try);
|
ast_log(LOG_WARNING, "Failed to grab lock on %s, try %d\n", ast_config_AST_CONFIG_DIR, try);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (res != AST_LOCK_SUCCESS) {
|
if (lockres != AST_LOCK_SUCCESS) {
|
||||||
ast_log(AST_LOG_WARNING, "Cannot grab lock on %s\n", ast_config_AST_CONFIG_DIR);
|
ast_log(AST_LOG_WARNING, "Cannot grab lock on %s\n", ast_config_AST_CONFIG_DIR);
|
||||||
res = AST_MODULE_RELOAD_ERROR;
|
res = AST_MODULE_RELOAD_ERROR;
|
||||||
goto module_reload_done;
|
goto module_reload_done;
|
||||||
@@ -1394,6 +1394,8 @@ enum ast_module_reload_result ast_module_reload(const char *name)
|
|||||||
ast_verb(3, "Reloading module '%s' (%s)\n", cur->resource, info->description);
|
ast_verb(3, "Reloading module '%s' (%s)\n", cur->resource, info->description);
|
||||||
if (info->reload() == AST_MODULE_LOAD_SUCCESS) {
|
if (info->reload() == AST_MODULE_LOAD_SUCCESS) {
|
||||||
res = AST_MODULE_RELOAD_SUCCESS;
|
res = AST_MODULE_RELOAD_SUCCESS;
|
||||||
|
} else if (res == AST_MODULE_RELOAD_NOT_FOUND) {
|
||||||
|
res = AST_MODULE_RELOAD_ERROR;
|
||||||
}
|
}
|
||||||
if (name) {
|
if (name) {
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user