summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAutomerge script <automerge@asterisk.org>2012-12-18 18:18:44 +0000
committerAutomerge script <automerge@asterisk.org>2012-12-18 18:18:44 +0000
commite0fa5cf52d34ceae6571b16b7ffb4813c2779577 (patch)
treed20c5742695721b439f8b2fe7f7734f0da567fb0
parent84e6a9847a7b564e4561d500c896a6985bb1e13e (diff)
Merged revisions 378122 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk ................ r378122 | kmoore | 2012-12-18 11:48:36 -0600 (Tue, 18 Dec 2012) | 17 lines Add test events for time limit-related hangups This patch adds hangup-related test events in order to support testing of time-limited bridges. This aids in testing the S() and L() bridge options. (issue SWP-4713) ........ Merged revisions 378119 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 378120 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 378121 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--main/channel.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/main/channel.c b/main/channel.c
index ce3a58ffd..7ccdaf557 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -73,6 +73,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/data.h"
#include "asterisk/channel_internal.h"
#include "asterisk/features.h"
+#include "asterisk/test.h"
/*** DOCUMENTATION
***/
@@ -3242,6 +3243,7 @@ struct ast_channel *ast_waitfor_nandfds(struct ast_channel **c, int n, int *fds,
now = ast_tvnow();
diff = ast_tvsub(*ast_channel_whentohangup(c[x]), now);
if (diff.tv_sec < 0 || ast_tvzero(diff)) {
+ ast_test_suite_event_notify("HANGUP_TIME", "Channel: %s", ast_channel_name(c[x]));
/* Should already be hungup */
ast_channel_softhangup_internal_flag_add(c[x], AST_SOFTHANGUP_TIMEOUT);
ast_channel_unlock(c[x]);
@@ -3315,6 +3317,7 @@ struct ast_channel *ast_waitfor_nandfds(struct ast_channel **c, int n, int *fds,
now = ast_tvnow();
for (x = 0; x < n; x++) {
if (!ast_tvzero(*ast_channel_whentohangup(c[x])) && ast_tvcmp(*ast_channel_whentohangup(c[x]), now) <= 0) {
+ ast_test_suite_event_notify("HANGUP_TIME", "Channel: %s", ast_channel_name(c[x]));
ast_channel_softhangup_internal_flag_add(c[x], AST_SOFTHANGUP_TIMEOUT);
if (winner == NULL) {
winner = c[x];
@@ -7939,6 +7942,7 @@ enum ast_bridge_result ast_channel_bridge(struct ast_channel *c0, struct ast_cha
bridge_playfile(c1, c0, config->end_sound, 0);
*fo = NULL;
res = 0;
+ ast_test_suite_event_notify("BRIDGE_TIMELIMIT", "Channel1: %s\r\nChannel2: %s", ast_channel_name(c0), ast_channel_name(c1));
break;
}