diff options
author | mnicholson <mnicholson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-07-09 17:50:05 +0000 |
---|---|---|
committer | mnicholson <mnicholson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-07-09 17:50:05 +0000 |
commit | 10e5af4280fb32aa71889678d7e3113fef9b9713 (patch) | |
tree | be88e9b58fef543f0d81c63684f10c38f8c0527c /main | |
parent | a0a46835cadebd72de3b3bfc0b06a779a8e9745a (diff) |
don't unload modules that returned AST_MODULE_LOAD_DECLINE when they were loaded
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@275143 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r-- | main/loader.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/main/loader.c b/main/loader.c index a79a2cf43..6bd9ed3db 100644 --- a/main/loader.c +++ b/main/loader.c @@ -472,7 +472,7 @@ void ast_module_shutdown(void) continue; } AST_LIST_REMOVE_CURRENT(&module_list, entry); - if (mod->info->unload) { + if (mod->flags.running && !mod->flags.declined && mod->info->unload) { mod->info->unload(); } AST_LIST_HEAD_DESTROY(&mod->users); @@ -498,7 +498,7 @@ int ast_unload_resource(const char *resource_name, enum ast_module_unload_mode f return 0; } - if (!(mod->flags.running || mod->flags.declined)) + if (!mod->flags.running || mod->flags.declined) error = 1; if (!mod->lib) { |