exec_runtime_vacuum(m);
+ assert(m->n_reloading > 0);
+ m->n_reloading--;
+
/* It might be safe to log to the journal now and connect to dbus */
manager_recheck_journal(m);
manager_recheck_dbus(m);
if (q < 0 && r >= 0)
r = q;
- assert(m->n_reloading > 0);
- m->n_reloading--;
-
m->send_reloading_done = true;
return r;
* connection of the API bus). That's because the system bus after all runs as service of the system instance,
* while in the user instance we can assume it's already there. */
+ if (MANAGER_IS_RELOADING(m))
+ return; /* don't check while we are reloading… */
+
if (manager_dbus_is_running(m, false)) {
(void) bus_init_api(m);
if (getpid_cached() != 1)
return;
+ /* Don't check this while we are reloading, things might still change */
+ if (MANAGER_IS_RELOADING(m))
+ return;
+
/* The journal is fully and entirely up? If so, let's permit logging to it, if that's configured. If the
* journal is down, don't ever log to it, otherwise we might end up deadlocking ourselves as we might trigger
* an activation ourselves we can't fulfill. */
}
}
- if (!MANAGER_IS_RELOADING(u->manager)) {
- manager_recheck_journal(m);
- manager_recheck_dbus(m);
- }
+ manager_recheck_journal(m);
+ manager_recheck_dbus(m);
unit_trigger_notify(u);