1. 19 Feb, 2019 1 commit
    • Yann Ylavic's avatar
      mod_cache_socache: avoid pool to heap reallocation. · eefe9a1e
      Yann Ylavic authored
      Below some threshold, the previous code tried free (sub-)pooled memory ASAP by
      moving small buffers (< capacity / 2) to a heap bucket. But this is not really
      an optimization because first it requires at some point to allocate more than
      the configured capacity, and second since this happens during response handling
      the pool is about to be destroyed soon anymay.
      
      This commit simply keeps the data in the subpool and uses a pool bucket for the
      output brigade to take care of the lifetime until it's consumed (or not).
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1853874 13f79535-47bb-0310-9956-ffa450edef68
      eefe9a1e
  2. 17 Feb, 2019 1 commit
  3. 15 Feb, 2019 10 commits
  4. 14 Feb, 2019 5 commits
  5. 13 Feb, 2019 1 commit
  6. 12 Feb, 2019 1 commit
  7. 11 Feb, 2019 1 commit
    • ylavic's avatar
      mod_proxy_http: rework the flushing strategy when forwarding the request body. · abe53b11
      ylavic authored
      Since the forwarding of 100-continue (end to end) in r1836588, we depended on
      reading all of the requested HUGE_STRING_LEN bytes to avoid the flushes, but
      this is a bit fragile.
      
      This commit introduces the new stream_reqbody_read() function which will try a
      nonblocking read first and, if it fails with EAGAIN, will flush on the backend
      side before blocking for the next client side read.
      
      We can then use it in stream_reqbody_{chunked,cl}() to flush client forwarded
      data only when necessary. This both allows "optimal" flushing and simplifies
      code (note that spool_reqbody_cl() also makes use of the new function but not
      its nonblocking/flush functionality, thus only for consistency with the two
      others, simplification and common error handling).
      
      Also, since proxy_http_req_t::flushall/subprocess_env::proxy-flushall are now
      meaningless (and unused) on the backend side, they are renamed respectively to
      prefetch_nonblocking/proxy-prefetch-nonblocking, and solely determine whether
      to prefetch in nonblocking mode or not. These flags were trunk only and may
      not be really useful if we decided to prefetch in nonblocking mode in any case,
      but for 2.4.x the opt-in looks wise.
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1853407 13f79535-47bb-0310-9956-ffa450edef68
      abe53b11
  8. 10 Feb, 2019 1 commit
  9. 09 Feb, 2019 4 commits
  10. 08 Feb, 2019 1 commit
  11. 07 Feb, 2019 3 commits
  12. 05 Feb, 2019 1 commit
  13. 03 Feb, 2019 1 commit
  14. 02 Feb, 2019 2 commits
  15. 30 Jan, 2019 1 commit
  16. 29 Jan, 2019 2 commits
  17. 28 Jan, 2019 2 commits
  18. 27 Jan, 2019 2 commits