h.b.furuseth@usit.uio.no writes:
Then we could add the option (c) a *small* set of (groups of?) config variables which each will need their own mutex or pause or something. Such as loglevel, since the code is doing Debug() all over the place.
I forgot: Simplest way here is to have two versions of the variable: the one accessed by cn=config, and a copy which is the one slapd obeys.
The cn=config variable is pause-protected as usual, and slapd copies it to the active variable at its leisure. This will be acceptable for config changes that cannot fail once the value has been verified and need not take effect immediately. Then the copy task needs locks both for the configurable variable ("lock" = prevent_pause() ... "unlock" = allow_pause()?) and for the active variable, but not at the same time.