aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2010-01-07 20:42:27 +0000
committerdvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2010-01-07 20:42:27 +0000
commit76c8a0cc598ea8e7d0484de15f022b804798263c (patch)
treef26b5ef1cae38af7d9ff5f3509aceb5268bd4adb
parent8545cbd83f8f5e7424436145a9fc4bfcbd3e39dc (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
-rw-r--r--main/channel.c2
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;
}