This patch sets the connection to NULL after calls to PQfinish so that the problem does not occur.
Also in this patch, prashant_jois informed me that it is safe to pass a null pointer to PQfinish, so
I have removed the check for conn's existence from my_unload_module.
(closes issue 10295, reported by junky, patched by me with input from prashant_jois)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77318
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
PQfinish(conn);
ast_log(LOG_ERROR, "cdr_pgsql: Unable to connect to database server %s. Calls will not be logged!\n", pghostname);
ast_log(LOG_ERROR, "cdr_pgsql: Reason: %s\n", pgerror);
+ conn = NULL;
}
}
PQfinish(conn);
ast_log(LOG_ERROR, "cdr_pgsql: Unable to reconnect to database server %s. Calls will not be logged!\n", pghostname);
ast_log(LOG_ERROR, "cdr_pgsql: Reason: %s\n", pgerror);
+ conn = NULL;
connected = 0;
ast_mutex_unlock(&pgsql_lock);
return -1;
static int my_unload_module(void)
{
- if (conn)
- PQfinish(conn);
+ PQfinish(conn);
if (pghostname)
free(pghostname);
if (pgdbname)