summaryrefslogtreecommitdiff
path: root/main/pbx.c
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2013-05-19 02:21:44 +0000
committerJoshua Colp <jcolp@digium.com>2013-05-19 02:21:44 +0000
commitb46840ae3e71f793971f83e5625cd7cded769f13 (patch)
tree216b17fc2a31eaeca02695589b950a0ddd8423c5 /main/pbx.c
parent4d8c35abf228fe7ae1b2a3058bdc8ebacde5b8ff (diff)
Don't hold the outgoing lock for a prolonged period of time as it may block the originator.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@389132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/pbx.c')
-rw-r--r--main/pbx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/main/pbx.c b/main/pbx.c
index 18778fac7..e00ba70b1 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -9977,7 +9977,6 @@ static void *pbx_outgoing_exec(void *data)
return NULL;
}
- ast_mutex_lock(&outgoing->lock);
if (!ast_strlen_zero(outgoing->app)) {
struct ast_app *app = pbx_findapp(outgoing->app);
@@ -10012,6 +10011,7 @@ static void *pbx_outgoing_exec(void *data)
}
/* Notify anyone else again that may be interested that execution is complete */
+ ast_mutex_lock(&outgoing->lock);
outgoing->executed = 1;
ast_cond_signal(&outgoing->cond);
ast_mutex_unlock(&outgoing->lock);