Can someone tell me
why the default shared memory method under Linux is APR_USE_SHM_SHMGET
Actually, there are
so many different APR_USE_SHM_* defines, it becomes a bit confusing. Is
there a doc somewhere
that explains the
different methods and the pros/cons for each ?
What is the proper
way to change to an alternate method ? Is there a ./configure option to
set a different method ?
The reason I asked
is that I was having an issues accessing a piece of shared memory allocated by
I have a demon
process that creates a piece of shared memory with apr_shm_create(). I then have another process that attaches to that
shared memory via apr_shm_attach(). I both the demon and the
process are under the same user all works well. Even if the demon is
started under a normal user, and the process that attaches runs as root it
works. If the process trying to attach is anything but root privilege, the
apr_shm_attach() fails with a permission denied
I was able to get
the behavior I want by switching to APR_USE_SHMEM_MMAP_TMP and making the users
members of the same group.