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 modssl-users@modssl.org Automated List Manager [EMAIL PROTECTED]