diff options
author | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-01-07 20:42:27 +0000 |
---|---|---|
committer | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-01-07 20:42:27 +0000 |
commit | 76c8a0cc598ea8e7d0484de15f022b804798263c (patch) | |
tree | f26b5ef1cae38af7d9ff5f3509aceb5268bd4adb /main | |
parent | 8545cbd83f8f5e7424436145a9fc4bfcbd3e39dc (diff) |
fixes ast_transfer stall until hangup if called with a channel that doesn't support transfers
ast_transfer sets res to 0 if there is no technology transfer function,
but then tests for it to be negative before deciding to do an early exit.
As a result, it will will wait for an AST_CONTROL_TRANSFER message that
will never come.
(closes issue #16424)
Reported by: davidw
Patches:
Issue_16424_trunk_234134.patch uploaded by davidw (license 780)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@238492 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r-- | main/channel.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/main/channel.c b/main/channel.c index cb30e1449..bb78c76fa 100644 --- a/main/channel.c +++ b/main/channel.c @@ -4597,7 +4597,7 @@ int ast_transfer(struct ast_channel *chan, char *dest) } ast_channel_unlock(chan); - if (res < 0) { + if (res <= 0) { return res; } |