Re: Samba Config Reload

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sa, 09.04.22 08:00, Yolo von BNANA (yolo@xxxxxxxx) wrote:

> ------- Original Message -------
> On Friday, April 8th, 2022 at 13:49, Lennart Poettering <lennart@xxxxxxxxxxxxxx> wrote:
>
> > This could be done better. Plugging in just a "kill" here, means the
> > reload is async. i.e. "systemctl reload" will basically return
> > immediately without the reload being complete, thus subsequent
> > commands can't rely the new config is already in place.
> >
>
> > It's typically nicer to invoke some synchronous command from
> > ExecReload=.
>
>
> Can you please explain this in more Detail?
>
> What does this mean: " "systemctl reload" will basically return
> immediately without the reload being complete"?

reload-via-SIGHUP means that the ExecReload= will just enqueue the
SIGHUP signal in the daemon and immdiately return. The daemon then
might take a while before it notices that the signal was queued, and
then take a while until it completed the reload.

Thus, if you have some script change a config file and then
immediately call "systemctl reload" on the relevant service, and
immediately expect the setting to be applied, then it might happen
that the daemon still hasn't noticed or completed the result.

Hence, typically it's better to plug in some tool into ExecReload=
that will not just enqueue a reload, but then wait until the daemon
reported back that the reload is now complete.

> And what is an Example for an synchronous command for ExecReload=

dbus-daemon for example uses:

    ExecReload=/usr/bin/busctl call org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus ReloadConfig

Which is a synchronous call to reload the config: the daemon is told
to reload it, and "busctl call" then waits for the reply before
returning to systemd.

Lennart

--
Lennart Poettering, Berlin



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux