Short: We need to call ap_close_listeners() earlier or more aggressively. Question: Where/How?
Looking at the Event MPM in both trunk and 2.2.x, the listener_thread is where we call ap_close_listeners(). This does not seem to be working quickly enough, per PR 43081: http://issues.apache.org/bugzilla/show_bug.cgi?id=43081 I haven't quite got my head around how the listener thread is apparently blocking for so long, but I can't figure out another way that the listeners would stay online for so long either. Solution: Add call to ap_close_listeners() in wakeup_listener(). I think this would pop out all of the listening sockets quickly from the listener pollset. Solution: Actually start working on 3.0 with a sane event/start/shutdown model? Thoughts? Thanks, -Paul