From: Russell Bryant Date: Fri, 15 Jun 2007 20:18:58 +0000 (+0000) Subject: Fix a silly deadlock in res_features that I found while debugging on one of X-Git-Tag: 1.4.5~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1f9898d8bdf72f54eb2cdc9d0fef339447665702;p=thirdparty%2Fasterisk.git 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 --- 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)) {