mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Remove unnecessary usleep() from a couple of module unload callbacks.
In passing, also tweak cdr_unregister() to hold the list lock a bit less time. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@202109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -663,7 +663,6 @@ early_release:
|
|||||||
static int unload_module(void)
|
static int unload_module(void)
|
||||||
{
|
{
|
||||||
ast_cdr_unregister(name);
|
ast_cdr_unregister(name);
|
||||||
usleep(1);
|
|
||||||
if (AST_RWLIST_WRLOCK(&odbc_tables)) {
|
if (AST_RWLIST_WRLOCK(&odbc_tables)) {
|
||||||
ast_cdr_register(name, ast_module_info->description, odbc_log);
|
ast_cdr_register(name, ast_module_info->description, odbc_log);
|
||||||
ast_log(LOG_ERROR, "Unable to lock column list. Unload failed.\n");
|
ast_log(LOG_ERROR, "Unable to lock column list. Unload failed.\n");
|
||||||
|
@@ -331,10 +331,9 @@ static int pgsql_log(struct ast_cdr *cdr)
|
|||||||
static int unload_module(void)
|
static int unload_module(void)
|
||||||
{
|
{
|
||||||
struct columns *current;
|
struct columns *current;
|
||||||
|
|
||||||
ast_cdr_unregister(name);
|
ast_cdr_unregister(name);
|
||||||
|
|
||||||
/* Give all threads time to finish */
|
|
||||||
usleep(1);
|
|
||||||
PQfinish(conn);
|
PQfinish(conn);
|
||||||
|
|
||||||
if (pghostname)
|
if (pghostname)
|
||||||
|
@@ -148,13 +148,16 @@ void ast_cdr_unregister(const char *name)
|
|||||||
AST_RWLIST_TRAVERSE_SAFE_BEGIN(&be_list, i, list) {
|
AST_RWLIST_TRAVERSE_SAFE_BEGIN(&be_list, i, list) {
|
||||||
if (!strcasecmp(name, i->name)) {
|
if (!strcasecmp(name, i->name)) {
|
||||||
AST_RWLIST_REMOVE_CURRENT(list);
|
AST_RWLIST_REMOVE_CURRENT(list);
|
||||||
ast_verb(2, "Unregistered '%s' CDR backend\n", name);
|
|
||||||
ast_free(i);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
AST_RWLIST_TRAVERSE_SAFE_END;
|
AST_RWLIST_TRAVERSE_SAFE_END;
|
||||||
AST_RWLIST_UNLOCK(&be_list);
|
AST_RWLIST_UNLOCK(&be_list);
|
||||||
|
|
||||||
|
if (i) {
|
||||||
|
ast_verb(2, "Unregistered '%s' CDR backend\n", name);
|
||||||
|
ast_free(i);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int ast_cdr_isset_unanswered(void)
|
int ast_cdr_isset_unanswered(void)
|
||||||
|
Reference in New Issue
Block a user