I introduced a deadlock avoidance into 1.4, which I attempted to port to trunk as well.

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
1.6.0
Mark Michelson 18 years ago
parent 3826d15993
commit 29ad24e37a

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

Loading…
Cancel
Save