On Fri, Mar 31, 2017 at 4:21 AM, William A Rowe Jr <wrowe@rowe-clan.net> wrote:
> So almost two decades later, this is still odd.
>
> apr.h:#define APR_USE_SHMEM_MMAP_TMP 0
> apr.h:#define APR_USE_SHMEM_MMAP_SHM 0
> apr.h:#define APR_USE_SHMEM_MMAP_ZERO 0
> apr.h:#define APR_USE_SHMEM_SHMGET_ANON 0
> apr.h:#define APR_USE_SHMEM_SHMGET 1
> apr.h:#define APR_USE_SHMEM_MMAP_ANON 1
> apr.h:#define APR_USE_SHMEM_BEOS 0
> apr.h:#define APR_USE_FLOCK_SERIALIZE 0
> apr.h:#define APR_USE_SYSVSEM_SERIALIZE 1
> apr.h:#define APR_USE_POSIXSEM_SERIALIZE 0
> apr.h:#define APR_USE_FCNTL_SERIALIZE 0
> apr.h:#define APR_USE_PROC_PTHREAD_SERIALIZE 0
> apr.h:#define APR_USE_PTHREAD_SERIALIZE 1
What's odd?
My understanding is that SHMEM_SHMGET and MMAP_ANON are not mutually
exclusive because the former is ENOTIMPL in apr_shm_create when
filename is NULL (i.e. anonymous SHM), hence the latter would be used.
Regarding USE_SYSVSEM_SERIALIZE vs PTHREAD_SERIALIZE, the former is
for proc_mutex whereas the latter is for thread_mutex, so I think they
don't collide either.
|