On 12/3/2011 12:30 PM, Graham Leggett wrote:
On 03 Dec 2011, at 2:49 AM, William A. Rowe Jr. wrote:
On the subject of logs-relative vs absolute, "/" should prevail, the
colon prefix is unacceptable.
On the subject of anonymous, "Anonymous mappings are mappings of that area of the
process's virtual memory backed by the swap space instead of by a file in the file system
name space. In this respect an anonymous mapping is similar to malloc, and is used in
some malloc implementations for certain allocations. However, anonymous mappings are not
part of the POSIX standard, though implemented by almost all systems."
- http://en.wikipedia.org/wiki/Mmap
It's pretty obvious why that shm "anonymous" implementation is laughable,
as well as unacceptable. But in fact, the<none> implementation appearsto
suggest anonymous, already.
To break this down into things to do to fix this, the way I read it is that "anonymous"
in this implementation means "put it in a file called anonymous", which is silly for the
reasons above.
Would it make sense to make it do this:
* none : no persistent data (anonymous)
* rel_name : $server_root/rel_name.slotmem
* /abs_name : $abs_name.slotmem
In other words the relative filename works like everywhere else in the server, and if you
happen to use the name "anonymous", you end up with a relative filename, which
happens to be the previous behavior.
If so, say the word, I can make it so.
That sounds sensible (where none triggers apr_shm's anon logic), and
if you have the time, terrific. Do we need the API to be appending
.slotmem for the user? Seems like overkill, nowhere else in httpd
does that happen, AFAICT.