The following reply was made to PR general/1787; it has been noted by GNATS.
From: Dean Gaudet <[EMAIL PROTECTED]> To: Matt Braithwaite <[EMAIL PROTECTED]> Cc: [EMAIL PROTECTED] Subject: Re: general/1787: accept loops on ENOTSOCK, filling up logfile Date: Thu, 12 Feb 1998 13:41:56 -0800 (PST) On 12 Feb 1998, Matt Braithwaite wrote: > have you any ideas on how the ENOTSOCK occurs in the first place? Nope. It doesn't seem that it's an apache bug, because it doesn't happen on multiple architectures for example. It's likely to be an OS bug... we tickle a few in this area occasionally. It's likely happening to more than one child, which is why exiting is probably the best thing to do. If you want a quick hack patch that might do the job for you, see the bottom of the message. > DG> Oh yeah your note about possibly missing SIGUSR1 -- it > DG> shouldn't matter because there is a generation check against > DG> the scoreboard to make sure the generation hasn't changed. > > sorry, i don't know what you mean by ``generation''. Each restart cycle is a "generation"... and the children know what generation they were spawned during. So they can test the generation in the shared scoreboard to see if they're older than the current generation. This deals with systems that have unreliable signals. Dean Index: http_main.c =================================================================== RCS file: /export/home/cvs/apache-1.2/src/http_main.c,v retrieving revision 1.150 diff -u -r1.150 http_main.c --- http_main.c 1998/01/30 09:13:55 1.150 +++ http_main.c 1998/02/12 21:40:31 @@ -1828,6 +1828,7 @@ if (errno != ECONNABORTED) #endif log_unixerr("accept", "(client socket)", NULL, server_conf); + exit(0); } /* go around again, safe to die */