On 2/20/2012 8:04 AM, Jess Holle wrote: > Ok, issues with all mod_ssl would be a big problem. > > If you needed to do DisableWin32AcceptEx, though, then something was already > not quite right. > > What you mean by "mod_ssl on a port", though? You just mean running an HTTPS > listener right?
Precisely. mod_ssl does not interact well (expects its bucket read to be blocking) against the incomplete response created by a 'data-less' AcceptEx or accept(). There are a ton of weird variations in which blocking states are inherited from a listening socket to an AcceptEx socket vs an accept socket on Windows. That's where the problem is, and those in a position to debug hadn't hit on this state (and the fact that the timing has to be very fast means that it isn't easily reproduced in a debug environment). Most modules won't care. As Steffan points out, most non-ssl modules don't care either. mod_ssl freaks out, but we can't exactly put the blame on mod_ssl when it explicitly demanded a blocking response.
