From: Joshua Colp Date: Sun, 19 May 2013 02:21:44 +0000 (+0000) Subject: Don't hold the outgoing lock for a prolonged period of time as it may block the origi... X-Git-Tag: 13.0.0-beta1~1796 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b46840ae3e71f793971f83e5625cd7cded769f13;p=thirdparty%2Fasterisk.git 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 --- diff --git a/main/pbx.c b/main/pbx.c index 18778fac76..e00ba70b18 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);