Hello,

 I have a mod_perl application which does a internal_redirect() and registers a 
cleanup handler before returning. I am noticing that the cleanup handler 
executes and i see the following in my log ..

[Tue Oct 15 03:27:32 2002] [info] [client XYZ ] (9)Bad file number: client 
stopped connection before rvputs completed

* Why is apache trying to write to client during the cleanup phase ?

Further ...

Since the call is to ap_rvputs(), I assumed it is not a mod_perl issue. I 
confirmed that the handler was 'default-handler' by asking ap_invoke_handler() 
to log each invocation.

But when I forced the handler to be 'perl-script' by using 
internal_redirect_handler(). This time I get 

[Tue Oct 15 00:59:29 2002] [info] [client XYZ] (9)Bad file number: client 
stopped connection before rwrite completed

I hacked ap_rvputs() & ap_rwrite() to not return on a write() failure but to log 
the attempt. It seems that both want to write HTTP headers to client. ( I 
confirmed that it is for the same request 'r->the_request')

Why is apache re-doing the request after a internal_redirect() ? ( and that too 
in the cleanup phase ??)

Please help me understand this. Any hints most appreciated :-)

regards
srp

ps :: please reply to me directly as i am not on the list

Reply via email to