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