diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-08-16 03:43:47 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-08-16 03:43:47 +0000 |
commit | 2dcd94043fe3e8f5ff94751b4105548df48ef8e9 (patch) | |
tree | 98c95aea70e10cb294e357dc51f55ae0e3b448aa /channels/chan_mgcp.c | |
parent | cf9d8c40b69e7a50f6e4ddef3784ca61e4e64ae6 (diff) |
move the calls to ast_jb_configure() to before the PBX thread is started on the
channel to remove the theoretical race condition that the channel could get
bridged before the channel's jitterbuffer gets configured. This was pointed
out by PCadach on IRC. Thanks!
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@39964 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_mgcp.c')
-rw-r--r-- | channels/chan_mgcp.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c index 7b56b8c98..07da3a75d 100644 --- a/channels/chan_mgcp.c +++ b/channels/chan_mgcp.c @@ -1425,6 +1425,8 @@ static struct ast_channel *mgcp_new(struct mgcp_subchannel *sub, int state) if (!i->adsi) tmp->adsicpe = AST_ADSI_UNAVAILABLE; tmp->priority = 1; + if (sub->rtp) + ast_jb_configure(tmp, &global_jbconf); if (state != AST_STATE_DOWN) { if (ast_pbx_start(tmp)) { ast_log(LOG_WARNING, "Unable to start PBX on %s\n", tmp->name); @@ -1437,10 +1439,6 @@ static struct ast_channel *mgcp_new(struct mgcp_subchannel *sub, int state) ast_verbose(VERBOSE_PREFIX_3 "MGCP mgcp_new(%s) created in state: %s\n", tmp->name, ast_state2str(state)); } - - /* Configure the new channel jb */ - if (tmp && sub && sub->rtp) - ast_jb_configure(tmp, &global_jbconf); } else { ast_log(LOG_WARNING, "Unable to allocate channel structure\n"); } |