[asterisk-commits] trunk r30337 - /trunk/res/res_agi.c
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Thu May 25 12:01:27 MST 2006
Author: russell
Date: Thu May 25 14:01:26 2006
New Revision: 30337
URL: http://svn.digium.com/view/asterisk?rev=30337&view=rev
Log:
allow setting a channel variable to disable sending SIGHUP to the AGI process
(issue #6491, original patch by juggie, channel variable patch by corydon,
committed patch modified to change variable name and update documentation)
Modified:
trunk/res/res_agi.c
Modified: trunk/res/res_agi.c
URL: http://svn.digium.com/view/asterisk/trunk/res/res_agi.c?rev=30337&r1=30336&r2=30337&view=diff
==============================================================================
--- trunk/res/res_agi.c (original)
+++ trunk/res/res_agi.c Thu May 25 14:01:26 2006
@@ -90,6 +90,9 @@
" This channel will stop dialplan execution on hangup inside of this\n"
"application, except when using DeadAGI. Otherwise, dialplan execution\n"
"will continue normally.\n"
+" A locally executed AGI script will receive SIGHUP on hangup from the channel\n"
+"except when using DeadAGI. This can be disabled by setting the AGISIGHUP channel\n"
+"variable to \"no\" before executing the AGI application.\n"
" Using 'EAGI' provides enhanced AGI, with incoming audio available out of band\n"
"on file descriptor 3\n\n"
" Use the CLI command 'show agi' to list available agi commands\n"
@@ -1858,8 +1861,11 @@
}
/* Notify process */
if (pid > -1) {
- if (kill(pid, SIGHUP))
- ast_log(LOG_WARNING, "unable to send SIGHUP to AGI process %d: %s\n", pid, strerror(errno));
+ const char *sighup = pbx_builtin_getvar_helper(chan, "AGISIGHUP");
+ if (ast_strlen_zero(sighup) || !ast_false(sighup)) {
+ if (kill(pid, SIGHUP))
+ ast_log(LOG_WARNING, "unable to send SIGHUP to AGI process %d: %s\n", pid, strerror(errno));
+ }
}
fclose(readf);
return returnstatus;
More information about the asterisk-commits
mailing list