httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yann Ylavic <>
Subject Balancers (file based SHMs) and restart issue (Windows only?)
Date Wed, 02 Sep 2015 09:08:01 GMT
Re PR 58024.

AIUI, balancers (and members) SHM slots are destroyed (and the
underlying base file removed) with pconf before restarting and then
re-created after (according to the new configuration, eg. number of
balancers/members, be it the same or not).
Persisted slots are saved in their own file (with the .persit suffix),
and reused (copied) only if the configuration did not change in
(@Jim, I see now how this is better than attaching ;)

This works well on Unixes, but on Windows files can't be removed
(unlinked) while any process/thread hold an HANDLE on it, hence until
all the children have exited...
Thus, since the SHM files still exist on restart, the balancer code
tries to attach them instead of re-creating, and issues the checks on
the existing size to fit the reloaded configuration, and fail should
should any balancer/member be added or removed => PR 58024.

BTW, even on Unixes there is a race on these files between the main
process and the children, or the children themselves from different

So I wonder if we could use anonymous SHMs instead (or mktemp based
when not native), persisted slots are saved in their own files anyway
and won't be affected.
Otherwise, maybe we could use the "generation" as part of the file
name, but that's equivalent and more complex IMO.


View raw message