On 06/01/2007 10:55 PM, Ruediger Pluem wrote: > > On 06/01/2007 05:50 PM, [EMAIL PROTECTED] wrote: >
>>+ >> static apr_status_t recall_headers(cache_handle_t *h, request_rec *r) >> { >> mem_cache_object_t *mobj = (mem_cache_object_t*) h->cache_obj->vobj; >> >>- h->req_hdrs = apr_table_copy(r->pool, mobj->req_hdrs); >>- h->resp_hdrs = apr_table_copy(r->pool, mobj->header_out); >>+ h->req_hdrs = deep_table_copy(r->pool, mobj->req_hdrs); >>+ h->resp_hdrs = deep_table_copy(r->pool, mobj->header_out); > > > Just curious: Why is this needed? The live time of the mobj->pool pool should > be longer > then that of the r->pool pool (which should be ensured by the refcount stuff, > which would > be broken otherwise). > Of course not doing a deep_table_copy can cause trouble afterwards with > APR_POOL_DEBUG > set as mobj->pool does not seem to be an ancestor of r->pool. Is this the > reason > for this copy operation? Ahh. Should have read http://issues.apache.org/bugzilla/show_bug.cgi?id=41551#c2 before which answers my question :-). Anyway another question: From a first glance your original patch and this patch basicly seem to do the same thing. But the original patch was said to be non working by the reporter whereas this worked. Any idea why? Regards RĂ¼diger