Skip to content
  1. Feb 14, 2018
  2. Feb 13, 2018
  3. Feb 12, 2018
  4. Feb 11, 2018
  5. Feb 10, 2018
  6. Feb 08, 2018
  7. Feb 07, 2018
  8. Feb 06, 2018
  9. Feb 05, 2018
  10. Feb 03, 2018
    • Yann Ylavic's avatar
      mpm_event: move lingering close "sucker" from the listener to worker(s). · 1bc8f261
      Yann Ylavic authored
      This was the last non-constant time action performed by the listener thread.
      
      It's now handled by the worker thread directly after entering lingering close,
      which should directly address the cases when the socket is already closed
      remotely at that time, hence avoid more scheduling (it may be the common case
      for some scenarios).
      
      And it's only if the above would need blocking (i.e. more data to suck) that
      the socket is added to the pollset for the listener to re-schedule a worker
      later when ready. If no worker is available at that time then the socket is
      forcibly closed (similarly to what's done for keepalive connections in this
      case).
      
      Also, since process_lingering_close() is now called by a worker thread and
      with almost no depth in the call stack, we can grow the size of the "suck"
      buffer from 2K to 32K to potentially call recv() up to sixteen times less.
      
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1823047 13f79535-47bb-0310-9956-ffa450edef68
      1bc8f261
  11. Feb 02, 2018
  12. Feb 01, 2018