Received: by taz.hyperreal.com (8.6.12/8.6.5) id OAA04063; Sun, 16 Jun 1996 14:21:35 -0700 Received: from sierra.zyzzyva.com by taz.hyperreal.com (8.6.12/8.6.5) with ESMTP id OAA04051; Sun, 16 Jun 1996 14:21:29 -0700 Received: from zyzzyva.com (localhost [127.0.0.1]) by sierra.zyzzyva.com (8.7.5/8.6.11) with ESMTP id QAA05619 for ; Sun, 16 Jun 1996 16:21:38 -0500 (CDT) Message-Id: <199606162121.QAA05619@sierra.zyzzyva.com> To: new-httpd@apache.org Subject: Holdup on 1.1b4 X-uri: http://www.zyzzyva.com/ Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 16 Jun 1996 16:21:37 -0500 From: Randy Terbush Sender: owner-new-httpd@apache.org Precedence: bulk Reply-To: new-httpd@hyperreal.com FYI - A response from one of the 2 people reporting problems on UnixWare machines has not helped a lot. Since no one in the group seems to have access to UnixWare, or is having similar problems, I'm not sure what the call should be on this release. The only personal experience that I can add to this bug is that I occasionally get errors from the while() in else NULL listeners. (on Solaris 2.5) Nothing recreatable. It looks like UnixWare may be setting errno to something unexpected. Below is the email from one of the persons reporting the problem. accept_mutex_on(); /* Lock around "accept", if necessary */ if (listeners != NULL) { fd_set fds; for (;;) { memcpy(&fds, &listenfds, sizeof(fd_set)); csd = select(listenmaxfd+1, &fds, NULL, NULL, NULL); if (csd == -1 && errno != EINTR) log_unixerr("select",NULL,"select error", server_conf); if (csd <= 0) continue; for (sd=listenmaxfd; sd >= 0; sd--) if (FD_ISSET(sd, &fds)) break; if (sd < 0) continue; clen=sizeof(sa_client); do csd=accept(sd, &sa_client, &clen); while (csd == -1 && errno == EINTR); if (csd != -1) break; log_unixerr("accept", "(client socket)", NULL, server_conf); } } else while ((csd=accept(sd, &sa_client, &clen)) == -1) if (errno != EINTR) log_unixerr("accept",NULL,"socket error: accept failed", server_conf); accept_mutex_off(); /* unlock after "accept" */ ----- User response ------ Thanks for the sugestion I applied the patch and it still seems to die with the same error although the error log message is a bit different at the moment (See Below) I still feel it's probably a sco unixware bug but thats my gut feel regards Byron [Sun Jun 16 22:36:10 1996] accept: Not a typewriter [Sun Jun 16 22:36:10 1996] - socket error: accept failed [Sun Jun 16 22:36:20 1996] accept: Not a typewriter [Sun Jun 16 22:36:20 1996] - socket error: accept failed [Sun Jun 16 22:36:21 1996] accept: Not a typewriter [Sun Jun 16 22:36:21 1996] - socket error: accept failed [Sun Jun 16 22:36:21 1996] accept: Not a typewriter [Sun Jun 16 22:36:21 1996] - socket error: accept failed [Sun Jun 16 22:36:22 1996] accept: Not a typewriter [Sun Jun 16 22:36:22 1996] - socket error: accept failed At 11:52 15/06/96 -0500, you wrote: >Please try the following patch made against 1.1b3. Don't bet the >farm on this patch. Since I don't have access to an SVR4 machine >anymore, I have not tested these changes. This is a hunch. > >*** http_main.c.orig Sat Jun 15 11:33:32 1996 >--- http_main.c Sat Jun 15 11:43:54 1996 >*************** >*** 1203,1212 **** > if (csd != -1) break; > log_unixerr("accept", "(client socket)", NULL, server_conf); > } >! } else >! while ((csd=accept(sd, &sa_client, &clen)) == -1) >! if (errno != EINTR) >! log_unixerr("accept",NULL,"socket error: accept failed", server_conf); > > accept_mutex_off(); /* unlock after "accept" */ > >--- 1203,1220 ---- > if (csd != -1) break; > log_unixerr("accept", "(client socket)", NULL, server_conf); > } >! } >! else >! { >! csd = accept(sd, &sa_client, &clen); >! >! if (csd == -1) >! { >! accept_mutex_off(); /* unlock after "failed accept" */ >! log_unixerr("accept",NULL,"socket error: accept failed", server_conf); >! exit (0); >! } >! } > > accept_mutex_off(); /* unlock after "accept" */ > > > >