On 25/08/07, Graham Dumpleton <[EMAIL PROTECTED]> wrote: > On 24/08/07, Jim Jagielski <[EMAIL PROTECTED]> wrote: > > > > On Aug 23, 2007, at 8:56 PM, Ian Holsman wrote: > > > > > Hi. > > > > > > This one is frustrating me to no end, and was wondering if some BSD/ > > > OSX guru can help me out a bit. > > > > > > I'm using the trunk, and trying to start apache, but I keep getting > > > a lock/sem problem > > > > > > [Fri Aug 24 10:51:53 2007] [emerg] (28)No space left on device: > > > Couldn't create accept lock > > > > > > this only happens if I have run the VPN. when I reboot it works > > > great (until I check into the VPN). > > > > > > from what I can see this error is usually caused by running out of > > > sempahores, but ipcs doesn't show any. > > > and to make matters worse, it only started happening about 2 weeks > > > ago. > > > > > > regards > > > Ian > > > > > > > IIRC, aren't the default sems on OS X Posix sems, not SysV sems?? > > ipcs just shows SysV stats > > The source has: > > case APR_LOCK_DEFAULT: > #if APR_USE_FLOCK_SERIALIZE > new_mutex->inter_meth = &mutex_flock_methods; > #elif APR_USE_SYSVSEM_SERIALIZE > new_mutex->inter_meth = &mutex_sysv_methods; > #elif APR_USE_FCNTL_SERIALIZE > new_mutex->inter_meth = &mutex_fcntl_methods; > #elif APR_USE_PROC_PTHREAD_SERIALIZE > new_mutex->inter_meth = &mutex_proc_pthread_methods; > #elif APR_USE_POSIXSEM_SERIALIZE > new_mutex->inter_meth = &mutex_posixsem_methods; > #else > return APR_ENOTIMPL; > #endif > > For my MacOS X PPC system, the apr.h header file has: > > #define APR_USE_FLOCK_SERIALIZE 0 > #define APR_USE_SYSVSEM_SERIALIZE 1 > #define APR_USE_POSIXSEM_SERIALIZE 0 > #define APR_USE_FCNTL_SERIALIZE 0 > #define APR_USE_PROC_PTHREAD_SERIALIZE 0 > #define APR_USE_PTHREAD_SERIALIZE 1 > > So default will always map to SYSVSEM. > > You need to check your apr.h header file to see what is enabled and > would thus be used as default based on order that code checks.
Just to confirm this for my system at least, setting LogLevel to debug yields: [Sat Jun 09 17:53:08 2007] [debug] worker.c(1715): AcceptMutex: sysvsem (default: sysvsem) Yet, when I run ipcs I don't see anything either. Message Queues: T ID KEY MODE OWNER GROUP Shared Memory: T ID KEY MODE OWNER GROUP Semaphores: T ID KEY MODE OWNER GROUP Same thing if I explicitly set AcceptMutex to sysvsem. Must be something odd about MacOS X. Graham
