|
|
|
@ -203,7 +203,6 @@ static int launch_script(char *script, char *argv[], int *fds, int *efd, int *op
|
|
|
|
|
int audio[2];
|
|
|
|
|
int x;
|
|
|
|
|
int res;
|
|
|
|
|
sigset_t signal_set;
|
|
|
|
|
|
|
|
|
|
if (!strncasecmp(script, "agi://", 6))
|
|
|
|
|
return launch_netscript(script, argv, fds, efd, opid);
|
|
|
|
@ -260,12 +259,6 @@ static int launch_script(char *script, char *argv[], int *fds, int *efd, int *op
|
|
|
|
|
close(STDERR_FILENO + 1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* unblock important signal handlers */
|
|
|
|
|
if (sigfillset(&signal_set) || pthread_sigmask(SIG_UNBLOCK, &signal_set, NULL)) {
|
|
|
|
|
ast_log(LOG_WARNING, "unable to unblock signals for AGI script: %s\n", strerror(errno));
|
|
|
|
|
exit(1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Close everything but stdin/out/error */
|
|
|
|
|
for (x=STDERR_FILENO + 2;x<1024;x++)
|
|
|
|
|
close(x);
|
|
|
|
@ -1551,10 +1544,8 @@ static int run_agi(struct ast_channel *chan, char *request, AGI *agi, int pid, i
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/* 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));
|
|
|
|
|
}
|
|
|
|
|
if (pid > -1)
|
|
|
|
|
kill(pid, SIGHUP);
|
|
|
|
|
fclose(readf);
|
|
|
|
|
return returnstatus;
|
|
|
|
|
}
|
|
|
|
|