From 1f9898d8bdf72f54eb2cdc9d0fef339447665702 Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Fri, 15 Jun 2007 20:18:58 +0000 Subject: [PATCH] Fix a silly deadlock in res_features that I found while debugging on one of blitzrage's test machines. It was one of the situations where he was seeing hung channels, and may be the cause of some of the reports from other people. (related to issue #9235) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69579 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_features.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/res/res_features.c b/res/res_features.c index 9ffc2861d9..81ac839504 100644 --- a/res/res_features.c +++ b/res/res_features.c @@ -1083,8 +1083,10 @@ static int ast_feature_interpret(struct ast_channel *chan, struct ast_channel *p while ((tok = strsep(&tmp, "#"))) { AST_LIST_LOCK(&feature_list); - if (!(feature = find_dynamic_feature(tok))) + if (!(feature = find_dynamic_feature(tok))) { + AST_LIST_UNLOCK(&feature_list); continue; + } /* Feature is up for consideration */ if (!strcmp(feature->exten, code)) {