Checkout
 

rpluem in httpd

Merge r1866078 from trunk:

* Make it obsolete to supply a starting pool

Improve dump_all_pools by making it obsolete to supply a starting pool.

If the parameter is not supplied ap_pglobal which is a global symbol is

used as starting pool.

The pool parameter is still accepted and considered for backwards

compatibility or if ap_pglobal cannot be resolved.

Submitted by: rpluem

Merge r1844889 from trunk:

* Add a command to dump some data from the scoreboard

Submitted by: rpluem

Merge r1829048 from trunk:

Dump server_rec ->addrs list in dump_server_rec.

Submitted by: jorton

Reviewed by: rpluem

* Make it obsolete to supply a starting pool

Improve dump_all_pools by making it obsolete to supply a starting pool.

If the parameter is not supplied ap_pglobal which is a global symbol is

used as starting pool.

The pool parameter is still accepted and considered for backwards

compatibility or if ap_pglobal cannot be resolved.

* Lock the worker, not the balancer. We even do not know if we have a balancer
* Comment
* Vote and promote
* Vote and promote
* All backported
* Backported in r1862410
* Only availabe since 2.4.40
* Fix flow
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

* Replace apr_psprintf with apr_pstrcat where the format strings only

contain %s to improve efficiency. Leave out error messages as they

are not on a crtical code path and error message become less readable

when taking out the format specifiers.

* Update proposal to incorporate the recent memory improvement patches from Joe
* Leave a breadcrumb note for another backport proposal that needs to be done.
* Fix the logic to follow the comment. So far we only forwarded the header if

we have NOT used it AND the env variable was set. But if we have not

used it we should forward it in any case independent of the env variable

setting.

This aligns also with the behaviour in ap_proxy_create_hdrbrgd.

* Vote
* Comment
* Vote
* Only do one retry to be more in line with the other modules.
* Vote
* Vote
* Solve a chicken and egg problem here:

We need to have sslconn->dc set correctly when we want to

init sslconn, but we need to allocate memory for it first.

* r->parsed_uri.path can be NULL in case of the CONNECT method.
* Play safe in case we get no name
* Revert r1855741 which committed other stuff as well.
* Play safe in case we get no name

Reverted by r1855742.

* Vote