>-----Original Message----- >From: Bill Stoddard [mailto:[EMAIL PROTECTED] > >Please double check then check again. This sounds a lot like a >dynamic ip address issue.
The machine is using static IP address but the DHCP service was also running. I disabled it but the hang with WSAEHOSTDOWN error still occurs every few hours. >The listener is opened in the parent and inheritied by the >child process. I would say the listening socket is >still ok if the hang recovers after a period of time. Try >running apache in one process mode (apache >-DONE_PROCESS). I have no idea if the server will hold up >under load in one process mode because I've not >tested it recently, however if it does and the hang does not >occur, it gives us a real big hint that the >problem may be in the Windows kernel related to the listening >socket being inherited. Actually, apache is running with -DONE_PROCESS at my client's. That is because I wanted to be able to detect and report any possible crashes. So it is not an issue with socket inheritance. I have also made a small patch that checks if the GetOverlappedResult() in winnt_accept() fails, apache logs the error and calls exit(). This seemed to help the customer quite a bit. Usually the the newly started apache instance also got this problem and exited but after 3 or 4 new restarts the hang was over and apache operated normally. I was wondering if it would help to just close the listening socket and create&bind&listen a new one instead of doing a full-blown restart. Of course, now that I know the listening socket is normally inherited from the parent process, I think closing it and making a new one might be very tricky... Perhaps a graceful restart would be enough but there was no way to initiate that from the child process, right? -- Sami
