dgaudet 97/09/14 03:30:57
Modified: src CHANGES src/main http_main.c Log: *) Inetd mode (which is buggy) uses timeouts without having setup the jmpbuffer. [Dean Gaudet] PR#1064 *) Work around problem under Linux where a child will start looping reporting a select error over and over. [Rick Franchuk <[EMAIL PROTECTED]>] PR#1107 PR: 1064, 1107 Reviewed by: Dean Gaudet, Roy Fielding, Marc Slemko Revision Changes Path 1.441 +8 -1 apachen/src/CHANGES Index: CHANGES =================================================================== RCS file: /export/home/cvs/apachen/src/CHANGES,v retrieving revision 1.440 retrieving revision 1.441 diff -u -r1.440 -r1.441 --- CHANGES 1997/09/14 07:34:35 1.440 +++ CHANGES 1997/09/14 10:30:53 1.441 @@ -1,5 +1,12 @@ Changes with Apache 1.3b1 - + + *) Inetd mode (which is buggy) uses timeouts without having setup the + jmpbuffer. [Dean Gaudet] PR#1064 + + *) Work around problem under Linux where a child will start looping + reporting a select error over and over. + [Rick Franchuk <[EMAIL PROTECTED]>] PR#1107 + *) Fixed error in proxy_util.c when looping through multiple host IP addresses. [Lars Eilebrecht] PR#974 1.223 +14 -1 apachen/src/main/http_main.c Index: http_main.c =================================================================== RCS file: /export/home/cvs/apachen/src/main/http_main.c,v retrieving revision 1.222 retrieving revision 1.223 diff -u -r1.222 -r1.223 --- http_main.c 1997/09/13 23:10:50 1.222 +++ http_main.c 1997/09/14 10:30:56 1.223 @@ -2851,8 +2851,18 @@ memcpy(&main_fds, &listenfds, sizeof(fd_set)); srv = ap_select(listenmaxfd+1, &main_fds, NULL, NULL, NULL); - if (srv < 0 && errno != EINTR) + if (srv < 0 && errno != EINTR) { +#ifdef LINUX + if (errno == EFAULT) { + aplog_error(APLOG_MARK, APLOG_ERR, server_conf, + "select: (listen) fatal, exiting"); + child_exit_modules (pconf, server_conf); + destroy_pool(pconf); + exit(1); + } +#endif aplog_error(APLOG_MARK, APLOG_ERR, server_conf, "select: (listen)"); + } if (srv <= 0) continue; @@ -3579,6 +3589,9 @@ GETUSERMODE(); } #endif + if (ap_setjmp (jmpbuffer)) { + exit (0); + } l = sizeof(sa_client); if ((getpeername(fileno(stdin), &sa_client, &l)) < 0)