Hi Folks, Thanks for the replies. What seems to be happening in my case , is when I send a graceful restart to apache, I get the following messages in the access log
127.0.0.1 [05/Feb/2007:13:35:25 +0000] "GET / HTTP/1.0" 400 284 127.0.0.1 [05/Feb/2007:13:35:25 +0000] "GET / HTTP/1.0" 400 284 127.0.0.1 [05/Feb/2007:13:35:25 +0000] "GET / HTTP/1.0" 400 284 127.0.0.1 [05/Feb/2007:13:35:25 +0000] "GET / HTTP/1.0" 400 284 127.0.0.1 [05/Feb/2007:13:35:25 +0000] "GET / HTTP/1.0" 400 284 I am trying to find the root cause of what cause this request when we do graceful restart. I have been digging around for some days but not able to find out which code is causing this. Any cluse ? Thanks & Regards Devi On 2/9/07, Plüm, Rüdiger, VF EITO <[EMAIL PROTECTED]> wrote:
> -----Ursprüngliche Nachricht----- > Von: Henrik Nordstrom > Gesendet: Freitag, 9. Februar 2007 16:33 > An: dev@httpd.apache.org > Betreff: Re: Regarding graceful restart > > > tor 2007-02-08 klockan 17:15 -0800 skrev Devi Krishna: > > Hi, > > > > Resending this mail, just in case anyone would have > > suggestions/inputs as how to fix this for connections that > are in the > > ESTABLISHED state or FIN state or any other TCP state other than > > LISTEN > > Maybe change the "wake up call" to just connect briefly > without actually > sending a full HTTP request? This should be sufficient to wake up any > processes sleeping in accept() and will not cause anything to get > processed.. Not if BSD accept filters are in place. In this case the kernel waits until it sees a HTTP request until it wakes up the process. And on Linux with TCP_DEFER_ACCEPT enabled you need to sent a least one byte of data. Regards Rüdiger