diff options
Diffstat (limited to 'funcs/func_config.c')
-rw-r--r-- | funcs/func_config.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/funcs/func_config.c b/funcs/func_config.c index ecf281c9d..33f822b4a 100644 --- a/funcs/func_config.c +++ b/funcs/func_config.c @@ -4,6 +4,7 @@ * Copyright (C) 2008, Digium, Inc. * * Russell Bryant <russell@digium.com> + * Tilghman Lesher <func_config__200803@the-tilghman.com> * * See http://www.asterisk.org for more information about * the Asterisk project. Please do not directly contact @@ -21,6 +22,7 @@ * \brief A function to retrieve variables from an Asterisk configuration file * * \author Russell Bryant <russell@digium.com> + * \author Tilghman Lesher <func_config__200803@the-tilghman.com> * * \ingroup functions */ @@ -170,20 +172,13 @@ static int unload_module(void) struct config_item *cur; int res = ast_custom_function_unregister(&config_function); - /* Allow anything already in the routine to exit */ - usleep(1); AST_RWLIST_WRLOCK(&configs); - usleep(1); - AST_RWLIST_UNLOCK(&configs); - /* Even if it needed to upgrade a lock */ - usleep(1); - AST_RWLIST_WRLOCK(&configs); - /* At this point, no other thread should be queued inside this module */ while ((cur = AST_RWLIST_REMOVE_HEAD(&configs, entry))) { ast_config_destroy(cur->cfg); ast_free(cur); } AST_RWLIST_UNLOCK(&configs); + return res; } |