/[Apache-SVN]
ViewVC logotype

Revision 1862410


Jump to revision: Previous Next
Author: rpluem
Date: Tue Jul 2 09:08:30 2019 UTC (4 years, 2 months ago)
Changed paths: 7
Log Message:
Merge r1842010, r1841225, r1862039, r1862040, r1862042 from trunk:

* dav_stream_response processes data that has been allocated from the propdb
  pool. Hence close the propdb *after* dav_stream_response which clears thei
  probdb pool.


* Doing a PROPFIND on a large collection e.g. 50.000 elements can easily
  consume 1 GB of memory as the subrequests and propdb pools are not
  destroyed and cleared after each element was handled.
  Do this now. There is one case in dav_get_props where elem->priv
  lives longer then the propdb pool. In this case allocate from r->pool.
  Furthermore also recycle propdb's which allows to clear the propdb's
  pools instead of destroying them and creating them again.


Simplify handling of short-lived pool for dav_propdb in mod_dav.  No
functional change.

* modules/dav/main/props.c (dav_popen_propdb): Rename from
  dav_open_propdb, take a pool argument.
  (dav_open_propdb): Reimplement in terms of above, using
  r->pool.
  (dav_propfind_walker): Switch to using dav_open_propdb
  with scratchpool.


* modules/dav/main/props.c (dav_do_prop_subreq): Allocate escaped URI
  out of propdb pool, fixing small per-resource leak during a PROPFIND
  walk.

Submitted by: jorton, rpluem


* modules/dav/main/mod_dav.c (dav_send_multistatus): Tag the pool.

Reviewed by: rpluem, jorton, jim


Changed paths

Path Details
Directoryhttpd/httpd/branches/2.4.x/ modified , props changed
Directoryhttpd/httpd/branches/2.4.x/CHANGES modified , text changed
Directoryhttpd/httpd/branches/2.4.x/STATUS modified , text changed
Directoryhttpd/httpd/branches/2.4.x/include/ap_mmn.h modified , text changed
Directoryhttpd/httpd/branches/2.4.x/modules/dav/main/mod_dav.c modified , text changed
Directoryhttpd/httpd/branches/2.4.x/modules/dav/main/mod_dav.h modified , text changed
Directoryhttpd/httpd/branches/2.4.x/modules/dav/main/props.c modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26