On Mon, 11 Apr 2022 at 09:58:54 +0200, Lennart Poettering wrote: > 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. ... and, crucially, the implementation of ReloadConfig in dbus-daemon also waits for its own reload to have actually been done (not just put in a queue, but actually done) *before* sending back its reply to the caller (in this case busctl). If you need to wait for something to have happened, then the whole chain of interactions needs to be synchronous: all it takes to break the chain is one component thinking "OK, I'll do that later". smcv