You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by Dean Gaudet <dg...@hyperreal.org> on 1997/09/22 23:55:32 UTC
cvs commit: apache/src CHANGES http_main.c
dgaudet 97/09/22 14:55:30
Modified: src Tag: APACHE_1_2_X CHANGES http_main.c
Log:
Defend against linux EFAULT infinite loop on select().
PR: 1107
Submitted by: Rick Franchuk <ri...@transpect.net>
Reviewed by: Dean Gaudet, Marc Slemko, Roy Fielding
Revision Changes Path
No revision
No revision
1.286.2.53 +5 -0 apache/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache/src/CHANGES,v
retrieving revision 1.286.2.52
retrieving revision 1.286.2.53
diff -u -r1.286.2.52 -r1.286.2.53
--- CHANGES 1997/08/21 22:56:18 1.286.2.52
+++ CHANGES 1997/09/22 21:55:23 1.286.2.53
@@ -1,3 +1,8 @@
+Changes with Apache 1.2.5
+
+ *) Work around problem under Linux where a child will start looping
+ reporting a select error over and over.
+ [Rick Franchuk <ri...@transpect.net>] PR#1107
Changes with Apache 1.2.4
1.149.2.9 +9 -1 apache/src/http_main.c
Index: http_main.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_main.c,v
retrieving revision 1.149.2.8
retrieving revision 1.149.2.9
diff -u -r1.149.2.8 -r1.149.2.9
--- http_main.c 1997/08/15 17:29:50 1.149.2.8
+++ http_main.c 1997/09/22 21:55:25 1.149.2.9
@@ -1776,8 +1776,16 @@
exit(0);
errno = errsave;
- if (srv < 0 && errno != EINTR)
+ if (srv < 0 && errno != EINTR) {
+#ifdef LINUX
+ if (errno == EFAULT) {
+ log_unixerr("select", "(listen) fatal, exiting",
+ NULL, server_conf);
+ exit(1);
+ }
+#endif
log_unixerr("select", "(listen)", NULL, server_conf);
+ }
if (srv <= 0)
continue;