Merged revisions 70554 via svnmerge from
authorJason Parker <jparker@digium.com>
Wed, 20 Jun 2007 22:32:57 +0000 (22:32 +0000)
committerJason Parker <jparker@digium.com>
Wed, 20 Jun 2007 22:32:57 +0000 (22:32 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r70554 | qwell | 2007-06-20 17:31:35 -0500 (Wed, 20 Jun 2007) | 4 lines

Fix a race condition in cdr_pgsql that can occur when reloading the module.

Issue 10022, patch by me, with credit to prashant_jois for finding the bug.

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@70555 65c4cc65-6c06-0410-ace0-fbb531ad65f3

cdr/cdr_pgsql.c

index 09df1bf..ac0373c 100644 (file)
@@ -309,8 +309,12 @@ static int unload_module(void)
 
 static int reload(void)
 {
+       int res;
+       ast_mutex_lock(&pgsql_lock);
        my_unload_module();
-       return my_load_module();
+       res = my_load_module();
+       ast_mutex_lock(&pgsql_lock);
+       return res;
 }
 
 AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "PostgreSQL CDR Backend",