X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fswap.c;h=4fa30a3e325f57e3be95692daa247de36dd9ef85;hb=2096e009a790073a934f5cd07d17024d3b199d0b;hp=a0b16776457e0c887964c1aa24df112236e61d76;hpb=3611581ebdabbe3a1d6a9b5310a0b59792279d7d;p=elogind.git diff --git a/src/swap.c b/src/swap.c index a0b167764..4fa30a3e3 100644 --- a/src/swap.c +++ b/src/swap.c @@ -74,7 +74,7 @@ static void swap_unset_proc_swaps(Swap *s) { s->parameters_proc_swaps.what = NULL; } - static void swap_init(Unit *u) { +static void swap_init(Unit *u) { Swap *s = SWAP(u); assert(s); @@ -83,7 +83,8 @@ static void swap_unset_proc_swaps(Swap *s) { s->timeout_usec = DEFAULT_TIMEOUT_USEC; exec_context_init(&s->exec_context); - s->exec_context.std_output = EXEC_OUTPUT_KMSG; + s->exec_context.std_output = u->meta.manager->default_std_output; + s->exec_context.std_error = u->meta.manager->default_std_error; s->parameters_etc_fstab.priority = s->parameters_proc_swaps.priority = s->parameters_fragment.priority = -1; @@ -613,6 +614,7 @@ static int swap_spawn(Swap *s, ExecCommand *c, pid_t *_pid) { true, s->meta.manager->confirm_spawn, s->meta.cgroup_bondings, + s->meta.cgroup_attributes, &pid)) < 0) goto fail; @@ -1278,12 +1280,12 @@ static int swap_kill(Unit *u, KillWho who, KillMode mode, int signo, DBusError * if (who == KILL_MAIN) { dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "Swap units have no main processes"); - return -EINVAL; + return -ESRCH; } if (s->control_pid <= 0 && who == KILL_CONTROL) { dbus_set_error(error, BUS_ERROR_NO_SUCH_PROCESS, "No control process to kill"); - return -ENOENT; + return -ESRCH; } if (who == KILL_CONTROL || who == KILL_ALL) @@ -1339,6 +1341,10 @@ DEFINE_STRING_TABLE_LOOKUP(swap_exec_command, SwapExecCommand); const UnitVTable swap_vtable = { .suffix = ".swap", + .sections = + "Unit\0" + "Swap\0" + "Install\0", .no_alias = true, .no_instances = true,