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:
Russell Bryant
2009-06-20 14:09:40 +00:00
parent 55c6789f74
commit b390327dd7
3 changed files with 6 additions and 5 deletions

View File

@@ -663,7 +663,6 @@ early_release:
static int unload_module(void)
{
ast_cdr_unregister(name);
usleep(1);
if (AST_RWLIST_WRLOCK(&odbc_tables)) {
ast_cdr_register(name, ast_module_info->description, odbc_log);
ast_log(LOG_ERROR, "Unable to lock column list. Unload failed.\n");

View File

@@ -331,10 +331,9 @@ static int pgsql_log(struct ast_cdr *cdr)
static int unload_module(void)
{
struct columns *current;
ast_cdr_unregister(name);
/* Give all threads time to finish */
usleep(1);
PQfinish(conn);
if (pghostname)

View File

@@ -148,13 +148,16 @@ void ast_cdr_unregister(const char *name)
AST_RWLIST_TRAVERSE_SAFE_BEGIN(&be_list, i, list) {
if (!strcasecmp(name, i->name)) {
AST_RWLIST_REMOVE_CURRENT(list);
ast_verb(2, "Unregistered '%s' CDR backend\n", name);
ast_free(i);
break;
}
}
AST_RWLIST_TRAVERSE_SAFE_END;
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)