apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel May" <dan...@spryware.com>
Subject APR_USE_SHM_SHMGET vs APR_USE_SHMEM_MMAP_TMP
Date Mon, 20 Feb 2006 20:56:17 GMT
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 another user.
 
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 error.
 
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.
 
 
 
Daniel May
daniel@may.com
 

Mime
View raw message