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

gentlehup



More on soft restarts... Not sure if I already sent this out.

We can get a seamless restart if we fork/exec a new copy of slapd that
inherits
the currently open listener sockets. All the other descriptors should be
CloseOnExec.
(Or we could explicitly loop through the descriptor table and close() all
descriptors
that aren't in the listener list.)

I would suggest that the currently running slapd simply re-exec the path
that came in argv[0]. It should in fact re-use the entire argv[] that it
was invoked with, but with an additional argument(s) to list the descriptors
that are open.

This scheme wouldn't allow starting a new slapd with different options from
the currently running one. It would be a good idea to add some of the
commandline-only options into the config file parser - listener URL and
IPv4/IPv6 handling come to mind.

Any comments?

  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support