]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/core/kill.c
Merge pull request #8417 from brauner/2018-03-09/add_bind_mount_fallback_to_private_d...
[thirdparty/systemd.git] / src / core / kill.c
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2 /***
3 This file is part of systemd.
4
5 Copyright 2012 Lennart Poettering
6 ***/
7
8 #include "kill.h"
9 #include "signal-util.h"
10 #include "string-table.h"
11 #include "util.h"
12
13 void kill_context_init(KillContext *c) {
14 assert(c);
15
16 c->kill_signal = SIGTERM;
17 c->send_sigkill = true;
18 c->send_sighup = false;
19 }
20
21 void kill_context_dump(KillContext *c, FILE *f, const char *prefix) {
22 assert(c);
23
24 prefix = strempty(prefix);
25
26 fprintf(f,
27 "%sKillMode: %s\n"
28 "%sKillSignal: SIG%s\n"
29 "%sSendSIGKILL: %s\n"
30 "%sSendSIGHUP: %s\n",
31 prefix, kill_mode_to_string(c->kill_mode),
32 prefix, signal_to_string(c->kill_signal),
33 prefix, yes_no(c->send_sigkill),
34 prefix, yes_no(c->send_sighup));
35 }
36
37 static const char* const kill_mode_table[_KILL_MODE_MAX] = {
38 [KILL_CONTROL_GROUP] = "control-group",
39 [KILL_PROCESS] = "process",
40 [KILL_MIXED] = "mixed",
41 [KILL_NONE] = "none"
42 };
43
44 DEFINE_STRING_TABLE_LOOKUP(kill_mode, KillMode);
45
46 static const char* const kill_who_table[_KILL_WHO_MAX] = {
47 [KILL_MAIN] = "main",
48 [KILL_CONTROL] = "control",
49 [KILL_ALL] = "all",
50 [KILL_MAIN_FAIL] = "main-fail",
51 [KILL_CONTROL_FAIL] = "control-fail",
52 [KILL_ALL_FAIL] = "all-fail"
53 };
54
55 DEFINE_STRING_TABLE_LOOKUP(kill_who, KillWho);