-D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE

Underlying the issue, this is a flaw in APR ./configure which selects two
default
mutexes, a confusing situation. I suspect RHEL and others patch around this
issue or toggle the appropriate autoconf variables during ./configure. The
right
answer on linux is going to be pthread.

On Sat, Oct 20, 2018 at 7:04 AM <[email protected]> wrote:

> --- Comment #12 from [email protected] ---
> (In reply to Yann Ylavic from comment #8)
> > KILLing the children processes shouldn't leak semaphores since there are
> > created (and destroyed) by the parent process.
> > Leaks usually happen when the parent process itself is killed, or
> crashes.
> > Does your system report such parent process crashes?
>
> No, there's no indication of the parent crashing. Should the parent PID
> change
> after a SIGHUP? I will peer at the docs though.
>

 If the parent is correctly managing the startup/graceful/shutdown
scenarios,
and your parent process is not being killed/segfaulting, then the most
likely
culprit is one of the modules I mentioned before, with a straightforward
code
defect. Logic I introduced in mod_bmx_vhost, for example, leaked one mutex
for each graceful restart [https://github.com/hyperic/mod_bmx/issues/6].

This is why I'd encourage you to decouple one or a couple of modules at a
time,
try cycling the server several times with both graceful and full restarts
to see
if you can identify a third party module leaking semaphores, it's very
unlikely
to be a core module of httpd.

Reply via email to