X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fsocket.c;h=39652ef560300af2929ed611dd1184051fe41f7a;hb=3f132692e305ec9adf1779551cb89088de0188e8;hp=7ba3a1b8962d693602d2c1aa1e1d923deba89bc5;hpb=75514a707c74b69d64a5326ad075728212091cb4;p=elogind.git diff --git a/src/core/socket.c b/src/core/socket.c index 7ba3a1b89..39652ef56 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -1120,7 +1120,7 @@ static int socket_symlink(Socket *s) { return 0; STRV_FOREACH(i, s->symlinks) - symlink(p, *i); + symlink_label(p, *i); return 0; } @@ -1414,6 +1414,7 @@ static int socket_spawn(Socket *s, ExecCommand *c, pid_t *_pid) { exec_params.confirm_spawn = UNIT(s)->manager->confirm_spawn; exec_params.cgroup_supported = UNIT(s)->manager->cgroup_supported; exec_params.cgroup_path = UNIT(s)->cgroup_path; + exec_params.cgroup_delegate = s->cgroup_context.delegate; exec_params.runtime_prefix = manager_get_runtime_prefix(UNIT(s)->manager); exec_params.unit_id = UNIT(s)->id; @@ -1578,7 +1579,8 @@ static void socket_enter_signal(Socket *s, SocketState state, SocketResult f) { r = unit_kill_context( UNIT(s), &s->kill_context, - state != SOCKET_STOP_PRE_SIGTERM && state != SOCKET_FINAL_SIGTERM, + (state != SOCKET_STOP_PRE_SIGTERM && state != SOCKET_FINAL_SIGTERM) ? + KILL_KILL : KILL_TERMINATE, -1, s->control_pid, false);