]>
Commit | Line | Data |
---|---|---|
53e1b683 | 1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
4819ff03 | 2 | |
24882e06 | 3 | #include "kill.h" |
8b43440b LP |
4 | #include "signal-util.h" |
5 | #include "string-table.h" | |
6 | #include "util.h" | |
4819ff03 LP |
7 | |
8 | void kill_context_init(KillContext *c) { | |
9 | assert(c); | |
10 | ||
11 | c->kill_signal = SIGTERM; | |
fbb48d4c | 12 | c->final_kill_signal = SIGKILL; |
4819ff03 | 13 | c->send_sigkill = true; |
82659fd7 | 14 | c->send_sighup = false; |
c87700a1 | 15 | c->watchdog_signal = SIGABRT; |
4819ff03 LP |
16 | } |
17 | ||
18 | void kill_context_dump(KillContext *c, FILE *f, const char *prefix) { | |
19 | assert(c); | |
20 | ||
ad5d4b17 | 21 | prefix = strempty(prefix); |
4819ff03 LP |
22 | |
23 | fprintf(f, | |
24 | "%sKillMode: %s\n" | |
25 | "%sKillSignal: SIG%s\n" | |
fbb48d4c | 26 | "%sFinalKillSignal: SIG%s\n" |
82659fd7 LP |
27 | "%sSendSIGKILL: %s\n" |
28 | "%sSendSIGHUP: %s\n", | |
4819ff03 LP |
29 | prefix, kill_mode_to_string(c->kill_mode), |
30 | prefix, signal_to_string(c->kill_signal), | |
fbb48d4c | 31 | prefix, signal_to_string(c->final_kill_signal), |
82659fd7 LP |
32 | prefix, yes_no(c->send_sigkill), |
33 | prefix, yes_no(c->send_sighup)); | |
4819ff03 LP |
34 | } |
35 | ||
36 | static const char* const kill_mode_table[_KILL_MODE_MAX] = { | |
37 | [KILL_CONTROL_GROUP] = "control-group", | |
38 | [KILL_PROCESS] = "process", | |
58ea275a | 39 | [KILL_MIXED] = "mixed", |
4819ff03 LP |
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", | |
ac5e3a50 JS |
48 | [KILL_ALL] = "all", |
49 | [KILL_MAIN_FAIL] = "main-fail", | |
50 | [KILL_CONTROL_FAIL] = "control-fail", | |
51 | [KILL_ALL_FAIL] = "all-fail" | |
4819ff03 LP |
52 | }; |
53 | ||
54 | DEFINE_STRING_TABLE_LOOKUP(kill_who, KillWho); |