From cd0e1c97801f275ee2bcf7e57cd4f0ed164bc22e Mon Sep 17 00:00:00 2001 From: Martin Pycko Date: Wed, 19 Nov 2003 21:19:18 +0000 Subject: [PATCH] Don't allow to issue a 'reload' command if the previous one didn't finish yet git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1765 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- loader.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/loader.c b/loader.c index 1bb17ed925..98ce7af192 100755 --- a/loader.c +++ b/loader.c @@ -99,6 +99,7 @@ static struct loadupdate { } *updaters = NULL; static ast_mutex_t modlock = AST_MUTEX_INITIALIZER; +static ast_mutex_t reloadlock = AST_MUTEX_INITIALIZER; static struct module *module_list=NULL; @@ -149,6 +150,11 @@ void ast_module_reload(void) struct module *m; /* We'll do the logger and manager the favor of calling its reload here first */ + + if (ast_mutex_trylock(&reloadlock)) { + ast_verbose("The previous reload command didn't finish yet\n"); + return; + } reload_manager(); ast_enum_reload(); ast_rtp_reload(); @@ -165,6 +171,7 @@ void ast_module_reload(void) m = m->next; } ast_mutex_unlock(&modlock); + ast_mutex_unlock(&reloadlock); } int ast_load_resource(char *resource_name)