[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Seamless restarts

Howard Chu writes:
>> For that matter, we might not even need to exec() slapd again, but
>> personally I'd prefer to do that anyway, in case the restart is done
>> because the slapd executable has been replaced with a newer version.
> Right. The exec() is definitely necessary for upgrade purposes.

Turns out that if we exec(), we'll need to write all the Listener
structs through a pipe from the old slapd to the new one.  Otherwise,
if something has changed in DNS since the original slapd started,
daemon.c:slap_open_listener() can create Listener structs which do not
match the listener file descriptors.

I'm not going to bother doing that just yet, though I've been thinking I
may write some restart code soon.  So I might just implement a simple
restart now which does not exec(), and just note in the documentation
that it might be changed later to exec().