]>
Commit | Line | Data |
---|---|---|
52ad194e | 1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
663996b3 | 2 | |
86f210e9 | 3 | #include "kill.h" |
db2df898 MP |
4 | #include "signal-util.h" |
5 | #include "string-table.h" | |
6 | #include "util.h" | |
663996b3 MS |
7 | |
8 | void kill_context_init(KillContext *c) { | |
9 | assert(c); | |
10 | ||
11 | c->kill_signal = SIGTERM; | |
6e866b33 | 12 | c->final_kill_signal = SIGKILL; |
663996b3 | 13 | c->send_sigkill = true; |
14228c0d | 14 | c->send_sighup = false; |
6e866b33 | 15 | c->watchdog_signal = SIGABRT; |
663996b3 MS |
16 | } |
17 | ||
18 | void kill_context_dump(KillContext *c, FILE *f, const char *prefix) { | |
19 | assert(c); | |
20 | ||
1d42b86d | 21 | prefix = strempty(prefix); |
663996b3 MS |
22 | |
23 | fprintf(f, | |
24 | "%sKillMode: %s\n" | |
25 | "%sKillSignal: SIG%s\n" | |
6e866b33 | 26 | "%sFinalKillSignal: SIG%s\n" |
14228c0d MB |
27 | "%sSendSIGKILL: %s\n" |
28 | "%sSendSIGHUP: %s\n", | |
663996b3 MS |
29 | prefix, kill_mode_to_string(c->kill_mode), |
30 | prefix, signal_to_string(c->kill_signal), | |
6e866b33 | 31 | prefix, signal_to_string(c->final_kill_signal), |
14228c0d MB |
32 | prefix, yes_no(c->send_sigkill), |
33 | prefix, yes_no(c->send_sighup)); | |
663996b3 MS |
34 | } |
35 | ||
36 | static const char* const kill_mode_table[_KILL_MODE_MAX] = { | |
37 | [KILL_CONTROL_GROUP] = "control-group", | |
38 | [KILL_PROCESS] = "process", | |
60f067b4 | 39 | [KILL_MIXED] = "mixed", |
663996b3 MS |
40 | [KILL_NONE] = "none" |
41 | }; | |
42 | ||
43 | DEFINE_STRING_TABLE_LOOKUP(kill_mode, KillMode); | |
44 | ||
45 | static const char* const kill_who_table[_KILL_WHO_MAX] = { | |
46 | [KILL_MAIN] = "main", | |
47 | [KILL_CONTROL] = "control", | |
6300502b MP |
48 | [KILL_ALL] = "all", |
49 | [KILL_MAIN_FAIL] = "main-fail", | |
50 | [KILL_CONTROL_FAIL] = "control-fail", | |
51 | [KILL_ALL_FAIL] = "all-fail" | |
663996b3 MS |
52 | }; |
53 | ||
54 | DEFINE_STRING_TABLE_LOOKUP(kill_who, KillWho); |