Fix for ConfBridge config parser unlocking channel mutex too many times
authorMatthew Jordan <mjordan@digium.com>
Wed, 4 Jan 2012 22:23:28 +0000 (22:23 +0000)
committerMatthew Jordan <mjordan@digium.com>
Wed, 4 Jan 2012 22:23:28 +0000 (22:23 +0000)
When looking up a ConfBridge profile, the config parser would, if it
found a channel datastore on the channel requesting the bridge profile,
unlock the channel mutex twice.  Since that's a little aggressive,
it now only unlocks it once.

(closes issue ASTERISK-19042)
Reported by: Matt Jordan
Tested by: Matt Jordan
Patches:
  19042 uploaded by David Vossel (license 5628)
........

Merged revisions 349619 from http://svn.asterisk.org/svn/asterisk/branches/10

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

apps/confbridge/conf_config_parser.c

index 58bb7ac..9bb8b2a 100644 (file)
@@ -1332,8 +1332,9 @@ const struct user_profile *conf_find_user_profile(struct ast_channel *chan, cons
                                conf_user_profile_copy(result, &b_data->u_profile);
                                return result;
                        }
+               } else {
+                       ast_channel_unlock(chan);
                }
-               ast_channel_unlock(chan);
        }
 
        if (ast_strlen_zero(user_profile_name)) {