diff options
author | Lennart Poettering <lennart@poettering.net> | 2013-07-10 21:10:53 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2013-07-10 23:41:03 +0200 |
commit | 71445ae75b0e9954d141e5f0ee97803b406ea332 (patch) | |
tree | f1f00a625f725d72429c51d61eb24b3842bd2648 /src/core/main.c | |
parent | d0ede8f1c555500dceebd3cc8a8e877ed1d89de6 (diff) |
core: send out "Reloading" signal before and after doing a full reload/reexec of PID 1
Since we'll unload all units/job during a reload, and then readd them it
is really useful for clients to be aware of this phase hence sent a
signal out before and after. This signal is called "Reloading" (despite
the fact that it is also sent out during reexecution, which we consider
a special case in this context) and has one boolean parameter which is
true for the signal sent before the reload, and false for the signal
after the reload. The UnitRemoved/JobRremoved and UnitNew/JobNew due to
the reloading are guranteed to be between the pair of Reloading
messages.
Diffstat (limited to 'src/core/main.c')
-rw-r--r-- | src/core/main.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/core/main.c b/src/core/main.c index 1d188e0bfe..efc5791bbc 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -1055,15 +1055,16 @@ static int prepare_reexecute(Manager *m, FILE **_f, FDSet **_fds, bool switching assert(_f); assert(_fds); - /* Make sure nothing is really destructed when we shut down */ - m->n_reloading ++; - r = manager_open_serialization(m, &f); if (r < 0) { log_error("Failed to create serialization file: %s", strerror(-r)); goto fail; } + /* Make sure nothing is really destructed when we shut down */ + m->n_reloading ++; + bus_broadcast_reloading(m, true); + fds = fdset_new(); if (!fds) { r = -ENOMEM; |