On Fri, Jun 10, 2005, Brian J. France wrote:
> I have a case where a https connection times out, which causes an alarm
> to trigger, apache start shutting down and mod_ssl tries to flush the
> buffer in a non-blocking way and hangs the connection until restart
> (see the backtrace below).
>
> I think the cause of this is the http_main.c patch for EAPI (see below)
> because it inserts the ap_call_close_connection_hook before setting
> B_EOUT instead of after. If it would set B_OUT first and then call
> ap_call_close_connection_hook, any ap_bflush or ap_bwrite calls would
> return (-1) instead of trying to write data to the socket (in a
> non-blocking way).
>
> Thoughts?
I've now looked into this subtle problem in more detail and I think
your analysis is correct. The ap_bflush() in mod_ssl will hang the
connection if we don't set B_EOUT before calling the EAPI connection
close hook. For mod_ssl 2.8.23 I've now adjusted the two calls to
ap_call_close_connection_hook() to occur _after_ the ap_bsetflag() call.
Thanks for your feedback.
Ralf S. Engelschall
[EMAIL PROTECTED]
www.engelschall.com
______________________________________________________________________
Apache Interface to OpenSSL (mod_ssl) www.modssl.org
User Support Mailing List [email protected]
Automated List Manager [EMAIL PROTECTED]