Don't hold lock in indication longer than we need it
authorMark Spencer <markster@digium.com>
Thu, 14 Aug 2003 18:46:02 +0000 (18:46 +0000)
committerMark Spencer <markster@digium.com>
Thu, 14 Aug 2003 18:46:02 +0000 (18:46 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1327 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channel.c

index dd80cc8..3fe2a02 100755 (executable)
--- a/channel.c
+++ b/channel.c
@@ -1153,6 +1153,7 @@ int ast_indicate(struct ast_channel *chan, int condition)
        ast_mutex_lock(&chan->lock);
        if (chan->pvt->indicate)
                res = chan->pvt->indicate(chan, condition);
+       ast_mutex_unlock(&chan->lock);
        if (!chan->pvt->indicate || res) {
                /*
                 * Device does not support (that) indication, lets fake
@@ -1185,7 +1186,6 @@ int ast_indicate(struct ast_channel *chan, int condition)
                }
                else ast_playtones_stop(chan);
        }
-       ast_mutex_unlock(&chan->lock);
        return res;
 }