Fix Bug # 981
authorMalcolm Davenport <malcolmd@digium.com>
Thu, 26 Feb 2004 17:29:49 +0000 (17:29 +0000)
committerMalcolm Davenport <malcolmd@digium.com>
Thu, 26 Feb 2004 17:29:49 +0000 (17:29 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2253 65c4cc65-6c06-0410-ace0-fbb531ad65f3

pbx.c

diff --git a/pbx.c b/pbx.c
index 30e3d1f..cf10828 100755 (executable)
--- a/pbx.c
+++ b/pbx.c
@@ -3538,12 +3538,13 @@ int ast_async_goto(struct ast_channel *chan, char *context, char *exten, int pri
                                tmpchan->priority = priority;
                        else
                                tmpchan->priority = chan->priority;
-                       if (needlock)
-                               ast_mutex_unlock(&chan->lock);
                        
                        /* Masquerade into temp channel */
                        ast_channel_masquerade(tmpchan, chan);
-                       
+               
+                       if (needlock)
+                               ast_mutex_unlock(&chan->lock);
+
                        /* Make the masquerade happen by reading a frame from the tmp channel */
                        f = ast_read(tmpchan);
                        if (f)