From 238cdb249fc3f831cc5d28e1c69855a6bb3dca53 Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Thu, 25 May 2006 18:31:19 +0000 Subject: 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 --- include/asterisk/app.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'include/asterisk/app.h') diff --git a/include/asterisk/app.h b/include/asterisk/app.h index af3aa31f9..4244c79b5 100644 --- a/include/asterisk/app.h +++ b/include/asterisk/app.h @@ -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 -- cgit v1.2.3