diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-01-28 05:19:06 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-01-28 05:19:06 +0000 |
commit | 0afe5f03badc093bb7aea23e12ab4cdfb79c19c0 (patch) | |
tree | 9f2c21fe68854ddbe8fca7d93c89a753e357e3b2 /channels | |
parent | 6d1eda1806b728d4b9c3dbe6efefc3b67d0d4711 (diff) |
Fix interation of # transfer and flash hook transfer (bug #3011)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4907 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-x | channels/chan_zap.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 0129987b9..a5a2c5fc5 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -2606,6 +2606,7 @@ static int zt_bridge(struct ast_channel *c0, struct ast_channel *c1, int flags, if (flags & (AST_BRIDGE_DTMF_CHANNEL_0 | AST_BRIDGE_DTMF_CHANNEL_1)) return -2; + ast_mutex_lock(&c0->lock); ast_mutex_lock(&c1->lock); @@ -4256,6 +4257,11 @@ static int zt_write(struct ast_channel *ast, struct ast_frame *frame) ast_log(LOG_DEBUG, "Dropping frame since I'm still dialing on %s...\n",ast->name); return 0; } + if (!p->owner) { + if (option_debug) + ast_log(LOG_DEBUG, "Dropping frame since there is no active owner on %s...\n",ast->name); + return 0; + } if (p->cidspill) { if (option_debug) ast_log(LOG_DEBUG, "Dropping frame since I've still got a callerid spill\n"); |