Merged revisions 10021,10108 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r10108 | kpfleming | 2006-02-14 18:36:57 -0600 (Tue, 14 Feb 2006) | 2 lines

ensure that FastAGI launcher can handle system call interruption (issue #6449)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Kevin P. Fleming 20 years ago
parent 42314e6160
commit e6ca0f1fab

@ -1,7 +1,7 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 1999 - 2005, Digium, Inc.
* Copyright (C) 1999 - 2006, Digium, Inc.
*
* Mark Spencer <markster@digium.com>
*
@ -190,17 +190,23 @@ static int launch_netscript(char *agiurl, char *argv[], int *fds, int *efd, int
close(s);
return -1;
}
pfds[0].fd = s;
pfds[0].events = POLLOUT;
if (poll(pfds, 1, MAX_AGI_CONNECT) != 1) {
ast_log(LOG_WARNING, "Connect to '%s' failed!\n", agiurl);
close(s);
return -1;
while (poll(pfds, 1, MAX_AGI_CONNECT) != 1) {
if (errno != EINTR) {
ast_log(LOG_WARNING, "Connect to '%s' failed: %s\n", agiurl, strerror(errno));
close(s);
return -1;
}
}
if (write(s, "agi_network: yes\n", strlen("agi_network: yes\n")) < 0) {
ast_log(LOG_WARNING, "Connect to '%s' failed: %s\n", agiurl, strerror(errno));
close(s);
return -1;
while (write(s, "agi_network: yes\n", strlen("agi_network: yes\n")) < 0) {
if (errno != EINTR) {
ast_log(LOG_WARNING, "Connect to '%s' failed: %s\n", agiurl, strerror(errno));
close(s);
return -1;
}
}
/* If we have a script parameter, relay it to the fastagi server */

Loading…
Cancel
Save