I introduced a deadlock avoidance into 1.4, which I attempted to port to trunk as...
authorMark Michelson <mmichelson@digium.com>
Wed, 21 Nov 2007 16:08:12 +0000 (16:08 +0000)
committerMark Michelson <mmichelson@digium.com>
Wed, 21 Nov 2007 16:08:12 +0000 (16:08 +0000)
Unfortunately, since trunk uses read/write locks for the context lock, it means that I have
actually *introduced* a deadlock condition since they are not recursive. Removing this change
for now and will look into introducing a different one.

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

main/pbx.c

index 09375b2..d726075 100644 (file)
@@ -2722,7 +2722,6 @@ static void handle_statechange(const char *device)
 {
        struct ast_hint *hint;
 
-       ast_rdlock_contexts();
        AST_RWLIST_RDLOCK(&hints);
 
        AST_RWLIST_TRAVERSE(&hints, hint, list) {
@@ -2760,7 +2759,6 @@ static void handle_statechange(const char *device)
        }
 
        AST_RWLIST_UNLOCK(&hints);
-       ast_unlock_contexts();
 }
 
 static int statechange_queue(const char *dev)