Amit Athavale wrote:

Normally EEXIST is returned when CREATE and EXCL flags are combined.
So I guess you are trying to create segment which is already there. check with ipcs
whether you have orphan segments ('cause of some reasons)

When I run ipcs, I get a long list of segments under the username used for testing Apache, so I guess this would be true.


What is the "correct" way to initialise shared memory in such a way that if there was a previous unclean shutdown, it recovers from this condition?

What are values for these constants in your apr.h (method to use for SHM)

APR_USE_SHMEM_MMAP_TMP APR_USE_SHMEM_MMAP_SHM APR_USE_SHMEM_MMAP_ZERO APR_USE_SHMEM_SHMGET_ANON APR_USE_SHMEM_SHMGET APR_USE_SHMEM_MMAP_ANON

It looks like this:

#define APR_USE_SHMEM_MMAP_TMP     0
#define APR_USE_SHMEM_MMAP_SHM     0
#define APR_USE_SHMEM_MMAP_ZERO    0
#define APR_USE_SHMEM_SHMGET_ANON  0
#define APR_USE_SHMEM_SHMGET       1
#define APR_USE_SHMEM_MMAP_ANON    1
#define APR_USE_SHMEM_BEOS         0

Regards,
Graham
--

Reply via email to