summaryrefslogtreecommitdiff
path: root/src/core/unit.h
diff options
context:
space:
mode:
authorUmut Tezduyar Lindskog <umut.tezduyar@axis.com>2014-10-28 16:35:40 +0100
committerLennart Poettering <lennart@poettering.net>2014-10-28 17:37:39 +0100
commitdb2cb23b5b179707000d28a11efb3d888d06ee80 (patch)
treed2ee7df6404f5bfaa43a3d0d050fe877866fdce2 /src/core/unit.h
parentf10af76de5e6589e35ed620c75f3f6eb02cdf345 (diff)
core: send sigabrt on watchdog timeout to get the stacktrace
if sigabrt doesn't do the job, follow regular shutdown routine, sigterm > sigkill.
Diffstat (limited to 'src/core/unit.h')
-rw-r--r--src/core/unit.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/unit.h b/src/core/unit.h
index bbad546356..081ab18f10 100644
--- a/src/core/unit.h
+++ b/src/core/unit.h
@@ -54,6 +54,12 @@ enum UnitActiveState {
_UNIT_ACTIVE_STATE_INVALID = -1
};
+typedef enum KillOperation {
+ KILL_TERMINATE,
+ KILL_KILL,
+ KILL_ABORT,
+} KillOperation;
+
static inline bool UNIT_IS_ACTIVE_OR_RELOADING(UnitActiveState t) {
return t == UNIT_ACTIVE || t == UNIT_RELOADING;
}
@@ -576,7 +582,7 @@ int unit_write_drop_in_private_format(Unit *u, UnitSetPropertiesMode mode, const
int unit_remove_drop_in(Unit *u, UnitSetPropertiesMode mode, const char *name);
-int unit_kill_context(Unit *u, KillContext *c, bool sigkill, pid_t main_pid, pid_t control_pid, bool main_pid_alien);
+int unit_kill_context(Unit *u, KillContext *c, KillOperation k, pid_t main_pid, pid_t control_pid, bool main_pid_alien);
int unit_make_transient(Unit *u);