#include <sys/reboot.h>
#include <sys/ioctl.h>
#include <linux/kd.h>
-#include <libcgroup.h>
#include <termios.h>
#include <fcntl.h>
#include <sys/types.h>
if (!(m = new0(Manager, 1)))
return -ENOMEM;
- timestamp_get(&m->startup_timestamp);
+ dual_timestamp_get(&m->startup_timestamp);
m->running_as = running_as;
m->confirm_spawn = confirm_spawn;
while ((meta = m->cleanup_queue)) {
assert(meta->in_cleanup_queue);
- unit_free(UNIT(meta));
+ unit_free((Unit*) meta);
n++;
}
while ((meta = m->gc_queue)) {
assert(meta->in_gc_queue);
- unit_gc_sweep(UNIT(meta), gc_marker);
+ unit_gc_sweep((Unit*) meta, gc_marker);
LIST_REMOVE(Meta, gc_queue, m->gc_queue, meta);
meta->in_gc_queue = false;
meta->gc_marker == gc_marker + GC_OFFSET_UNSURE) {
log_debug("Collecting %s", meta->id);
meta->gc_marker = gc_marker + GC_OFFSET_BAD;
- unit_add_to_cleanup_queue(UNIT(meta));
+ unit_add_to_cleanup_queue((Unit*) meta);
}
}
/* If we reexecute ourselves, we keep the root cgroup
* around */
- manager_shutdown_cgroup(m, m->exit_code != MANAGER_REEXECUTE);
+ if (m->exit_code != MANAGER_REEXECUTE)
+ manager_shutdown_cgroup(m);
bus_done(m);
continue;
/* No need to stop inactive jobs */
- if (unit_active_state(u) == UNIT_INACTIVE)
+ if (UNIT_IS_INACTIVE_OR_MAINTENANCE(unit_active_state(u)))
continue;
/* Is there already something listed for this? */
while ((meta = m->load_queue)) {
assert(meta->in_load_queue);
- unit_load(UNIT(meta));
+ unit_load((Unit*) meta);
n++;
}
while ((meta = m->dbus_unit_queue)) {
assert(meta->in_dbus_queue);
- bus_unit_send_change_signal(UNIT(meta));
+ bus_unit_send_change_signal((Unit*) meta);
n++;
}
if ((int) sfsi.ssi_signo >= SIGRTMIN+0 &&
(int) sfsi.ssi_signo < SIGRTMIN+(int) ELEMENTSOF(table)) {
manager_start_target(m, table[sfsi.ssi_signo - SIGRTMIN],
- sfsi.ssi_signo == 2 ? JOB_ISOLATE : JOB_REPLACE);
+ (sfsi.ssi_signo == 1 || sfsi.ssi_signo == 2) ? JOB_ISOLATE : JOB_REPLACE);
break;
}