summaryrefslogtreecommitdiff
path: root/channels/chan_zap.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2005-10-13 18:27:54 +0000
committerMark Spencer <markster@digium.com>2005-10-13 18:27:54 +0000
commitdd11afca4229c2d5746d19d86f0ca960d71fe935 (patch)
treeb5afd966e15542b9db79d321c8bae141fe961d5f /channels/chan_zap.c
parent6fea13619ef22fc2d2c2bef6d6a9a27867a5a2b4 (diff)
Fix call timeouts with rtp bridge etc (bug #5252)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6759 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_zap.c')
-rwxr-xr-xchannels/chan_zap.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index c8ab2473b..077eba2f6 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -340,7 +340,7 @@ static pthread_t monitor_thread = AST_PTHREADT_NULL;
static int restart_monitor(void);
-static enum ast_bridge_result zt_bridge(struct ast_channel *c0, struct ast_channel *c1, int flags, struct ast_frame **fo, struct ast_channel **rc);
+static enum ast_bridge_result zt_bridge(struct ast_channel *c0, struct ast_channel *c1, int flags, struct ast_frame **fo, struct ast_channel **rc, int timeoutms);
static int zt_sendtext(struct ast_channel *c, const char *text);
@@ -2940,13 +2940,12 @@ static void enable_dtmf_detect(struct zt_pvt *p)
#endif
}
-static enum ast_bridge_result zt_bridge(struct ast_channel *c0, struct ast_channel *c1, int flags, struct ast_frame **fo, struct ast_channel **rc)
+static enum ast_bridge_result zt_bridge(struct ast_channel *c0, struct ast_channel *c1, int flags, struct ast_frame **fo, struct ast_channel **rc, int timeoutms)
{
struct ast_channel *who;
struct zt_pvt *p0, *p1, *op0, *op1;
struct zt_pvt *master = NULL, *slave = NULL;
struct ast_frame *f;
- int to;
int inconf = 0;
int nothingok = 1;
int ofd0, ofd1;
@@ -3169,8 +3168,7 @@ static enum ast_bridge_result zt_bridge(struct ast_channel *c0, struct ast_chann
}
#endif
- to = -1;
- who = ast_waitfor_n(priority ? c0_priority : c1_priority, 2, &to);
+ who = ast_waitfor_n(priority ? c0_priority : c1_priority, 2, &timeoutms);
if (!who) {
ast_log(LOG_DEBUG, "Ooh, empty read...\n");
continue;