Cliff Woolley wrote:
[...]

The patch includes a change to mod_file_cache to create a non-owner
copy of the mmap for the bucket brigade to use, so that the mmap can't
get unmapped by any code other than mod_file_cache itself


Why is that necessary? The original mmap from mod_file_cache is owned by mod_file_cache and is allocated out of cmd->pool. cmd->pool definitely lives longer than r->pool. I guess the problem is that cmd->pool is not an ancestor of r->pool, right? It's disjoint (kind of a great-uncle or something ;). FEH. Is there some clean way we can allocate the mmap out of a better pool than the cmd->pool [like pchild or something]? The less work we do at request time, the better. I guess this wouldn't be the end of the world, though.


Right, it's because the original mmap comes from a disjoint pool that we need to make the non-owner copy at request time. Allocating the cached mmap structs from pchild probably would eliminate the need for this. But it's most likely not worth the effort, because the copy is a relatively lightweight operation.

--Brian





Reply via email to