X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fmanager.c;h=d0af6741edf766ba8139cffb487acd1e0675e0b9;hp=360a65a49219da98b49f5a2fc3dd8278b7291237;hb=9bdb98c59451ed090f8d35d470a54710f389ce71;hpb=6a0f1f6d5af7c7300d3db7a0ba2b068f8abd222b diff --git a/src/core/manager.c b/src/core/manager.c index 360a65a49..d0af6741e 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -225,8 +225,8 @@ static int manager_watch_idle_pipe(Manager *m) { static void manager_close_idle_pipe(Manager *m) { assert(m); - close_pipe(m->idle_pipe); - close_pipe(m->idle_pipe + 2); + safe_close_pair(m->idle_pipe); + safe_close_pair(m->idle_pipe + 2); } static int manager_setup_time_change(Manager *m) { @@ -422,12 +422,14 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) { return -ENOMEM; #ifdef ENABLE_EFI - if (detect_container(NULL) <= 0) + if (running_as == SYSTEMD_SYSTEM && detect_container(NULL) <= 0) boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp); #endif m->running_as = running_as; m->exit_code = _MANAGER_EXIT_CODE_INVALID; + m->default_timer_accuracy_usec = USEC_PER_MINUTE; + m->default_cpu_quota_period_usec = 100 * USEC_PER_MSEC; m->idle_pipe[0] = m->idle_pipe[1] = m->idle_pipe[2] = m->idle_pipe[3] = -1; @@ -966,6 +968,7 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { r = lookup_paths_init( &m->lookup_paths, m->running_as, true, + NULL, m->generator_unit_path, m->generator_unit_path_early, m->generator_unit_path_late); @@ -2128,9 +2131,6 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool switching_root) { if (u->id != t) continue; - if (!unit_can_serialize(u)) - continue; - /* Start marker */ fputs(u->id, f); fputc('\n', f); @@ -2372,6 +2372,7 @@ int manager_reload(Manager *m) { q = lookup_paths_init( &m->lookup_paths, m->running_as, true, + NULL, m->generator_unit_path, m->generator_unit_path_early, m->generator_unit_path_late);