chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Convert the rest to sd_bus_errnomap
[elogind.git]
/
src
/
core
/
unit.c
diff --git
a/src/core/unit.c
b/src/core/unit.c
index afb760d4a3ecd334e2fd435beeac780fb68f2e7c..d5acc728ecdec2527dd50d94dc487947abc0a2cd 100644
(file)
--- a/
src/core/unit.c
+++ b/
src/core/unit.c
@@
-2768,7
+2768,8
@@
int unit_coldplug(Unit *u) {
void unit_status_printf(Unit *u, const char *status, const char *unit_status_msg_format) {
DISABLE_WARNING_FORMAT_NONLITERAL;
void unit_status_printf(Unit *u, const char *status, const char *unit_status_msg_format) {
DISABLE_WARNING_FORMAT_NONLITERAL;
- manager_status_printf(u->manager, false, status, unit_status_msg_format, unit_description(u));
+ manager_status_printf(u->manager, STATUS_TYPE_NORMAL,
+ status, unit_status_msg_format, unit_description(u));
REENABLE_WARNING;
}
REENABLE_WARNING;
}
@@
-2938,18
+2939,16
@@
int unit_kill_common(
if (who == KILL_MAIN && main_pid <= 0) {
if (main_pid < 0)
if (who == KILL_MAIN && main_pid <= 0) {
if (main_pid < 0)
- sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_PROCESS, "%s units have no main processes", unit_type_to_string(u->type));
+
return
sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_PROCESS, "%s units have no main processes", unit_type_to_string(u->type));
else
else
- sd_bus_error_set_const(error, BUS_ERROR_NO_SUCH_PROCESS, "No main process to kill");
- return -ESRCH;
+ return sd_bus_error_set_const(error, BUS_ERROR_NO_SUCH_PROCESS, "No main process to kill");
}
if (who == KILL_CONTROL && control_pid <= 0) {
if (control_pid < 0)
}
if (who == KILL_CONTROL && control_pid <= 0) {
if (control_pid < 0)
- sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_PROCESS, "%s units have no control processes", unit_type_to_string(u->type));
+
return
sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_PROCESS, "%s units have no control processes", unit_type_to_string(u->type));
else
else
- sd_bus_error_set_const(error, BUS_ERROR_NO_SUCH_PROCESS, "No control process to kill");
- return -ESRCH;
+ return sd_bus_error_set_const(error, BUS_ERROR_NO_SUCH_PROCESS, "No control process to kill");
}
if (who == KILL_CONTROL || who == KILL_ALL)
}
if (who == KILL_CONTROL || who == KILL_ALL)
@@
-3312,7
+3311,7
@@
int unit_make_transient(Unit *u) {
int unit_kill_context(
Unit *u,
KillContext *c,
int unit_kill_context(
Unit *u,
KillContext *c,
-
bool sigkill
,
+
KillOperation k
,
pid_t main_pid,
pid_t control_pid,
bool main_pid_alien) {
pid_t main_pid,
pid_t control_pid,
bool main_pid_alien) {
@@
-3325,7
+3324,19
@@
int unit_kill_context(
if (c->kill_mode == KILL_NONE)
return 0;
if (c->kill_mode == KILL_NONE)
return 0;
- sig = sigkill ? SIGKILL : c->kill_signal;
+ switch (k) {
+ case KILL_KILL:
+ sig = SIGKILL;
+ break;
+ case KILL_ABORT:
+ sig = SIGABRT;
+ break;
+ case KILL_TERMINATE:
+ sig = c->kill_signal;
+ break;
+ default:
+ assert_not_reached("KillOperation unknown");
+ }
if (main_pid > 0) {
r = kill_and_sigcont(main_pid, sig);
if (main_pid > 0) {
r = kill_and_sigcont(main_pid, sig);
@@
-3339,7
+3350,7
@@
int unit_kill_context(
if (!main_pid_alien)
wait_for_exit = true;
if (!main_pid_alien)
wait_for_exit = true;
- if (c->send_sighup &&
!sigkill
)
+ if (c->send_sighup &&
k != KILL_KILL
)
kill(main_pid, SIGHUP);
}
}
kill(main_pid, SIGHUP);
}
}
@@
-3355,12
+3366,12
@@
int unit_kill_context(
} else {
wait_for_exit = true;
} else {
wait_for_exit = true;
- if (c->send_sighup &&
!sigkill
)
+ if (c->send_sighup &&
k != KILL_KILL
)
kill(control_pid, SIGHUP);
}
}
kill(control_pid, SIGHUP);
}
}
- if ((c->kill_mode == KILL_CONTROL_GROUP || (c->kill_mode == KILL_MIXED &&
sigkill
)) && u->cgroup_path) {
+ if ((c->kill_mode == KILL_CONTROL_GROUP || (c->kill_mode == KILL_MIXED &&
k == KILL_KILL
)) && u->cgroup_path) {
_cleanup_set_free_ Set *pid_set = NULL;
/* Exclude the main/control pids from being killed via the cgroup */
_cleanup_set_free_ Set *pid_set = NULL;
/* Exclude the main/control pids from being killed via the cgroup */
@@
-3384,7
+3395,7
@@
int unit_kill_context(
/* wait_for_exit = true; */
/* wait_for_exit = true; */
- if (c->send_sighup &&
!sigkill
) {
+ if (c->send_sighup &&
k != KILL_KILL
) {
set_free(pid_set);
pid_set = unit_pid_set(main_pid, control_pid);
set_free(pid_set);
pid_set = unit_pid_set(main_pid, control_pid);