https://bz.apache.org/bugzilla/show_bug.cgi?id=65832
--- Comment #3 from Yann Ylavic <ylavic....@gmail.com> --- I think that get_worker() should never block, it does not in this case and there is no other choice than closing the connection (which is what we should address IMHO). We could try to be preventive here and kill kept-alive connections earlier (when num_idlers < some threshold or alike?) as you propose, but this does not address the blocking cases for WRITE_COMPLETION and PT_ACCEPT. If we had a solution for these I think that the keepalive connection becoming active case is not very different than the PT_ACCEPT case. What we could do possibly in the listener when get_worker() (all nonblocking) finds no worker is to: 1. disable_listensocks() so as not to make the situation worse 2. push those connections/sockets in a pending_q which workers would pop before idling (like the defer_linger_chain) 3. maintain the pending_q with the other queues to kill the connections at some point if no worker comes up soon enough (pathologically?) 4. teach should_enable_listensocks() about the pending_q to not recover too early This sounds (to me) like a more robust alternative, good/bad/off-topic idea? -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: bugs-unsubscr...@httpd.apache.org For additional commands, e-mail: bugs-h...@httpd.apache.org