Add the ability to retrieve the exit code of the forked AGI process. If there

is an error executing the AGI script, or the AGI script itself returns a
non-zero value, the AGISTATUS variable will now be set to FAILURE instead of
SUCCESS.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Russell Bryant
2006-05-25 18:31:19 +00:00
parent 35d729fb40
commit 238cdb249f
3 changed files with 61 additions and 19 deletions

View File

@@ -119,6 +119,27 @@ int ast_app_messagecount(const char *context, const char *mailbox, const char *f
*/
int ast_safe_system(const char *s);
/*!
* \brief Replace the SIGCHLD handler
*
* Normally, Asterisk has a SIGCHLD handler that is cleaning up all zombie
* processes from forking elsewhere in Asterisk. However, if you want to
* wait*() on the process to retrieve information about it's exit status,
* then this signal handler needs to be temporaraly replaced.
*
* Code that executes this function *must* call ast_unreplace_sigchld()
* after it is finished doing the wait*().
*/
void ast_replace_sigchld(void);
/*!
* \brief Restore the SIGCHLD handler
*
* This function is called after a call to ast_replace_sigchld. It restores
* the SIGCHLD handler that cleans up any zombie processes.
*/
void ast_unreplace_sigchld(void);
/*!
\brief Send DTMF to a channel