mirror of
https://github.com/systemd/systemd.git
synced 2024-12-28 11:33:31 +08:00
unit: accept empty defaults for kill who/mode args
This commit is contained in:
parent
88e3dc903b
commit
0a524ba7c3
@ -542,10 +542,23 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
|
||||
DBUS_TYPE_INVALID))
|
||||
return bus_send_error_reply(connection, message, &error, -EINVAL);
|
||||
|
||||
if ((mode = kill_mode_from_string(smode)) < 0 ||
|
||||
(who = kill_who_from_string(swho)) < 0 ||
|
||||
signo <= 0 ||
|
||||
signo >= _NSIG)
|
||||
if (isempty(swho))
|
||||
who = KILL_ALL;
|
||||
else {
|
||||
who = kill_who_from_string(swho);
|
||||
if (who < 0)
|
||||
return bus_send_error_reply(connection, message, &error, -EINVAL);
|
||||
}
|
||||
|
||||
if (isempty(smode))
|
||||
mode = KILL_CONTROL_GROUP;
|
||||
else {
|
||||
mode = kill_mode_from_string(smode);
|
||||
if (mode < 0)
|
||||
return bus_send_error_reply(connection, message, &error, -EINVAL);
|
||||
}
|
||||
|
||||
if (signo <= 0 || signo >= _NSIG)
|
||||
return bus_send_error_reply(connection, message, &error, -EINVAL);
|
||||
|
||||
if (!(u = manager_get_unit(m, name))) {
|
||||
|
@ -372,10 +372,23 @@ static DBusHandlerResult bus_unit_message_dispatch(Unit *u, DBusConnection *conn
|
||||
DBUS_TYPE_INVALID))
|
||||
return bus_send_error_reply(connection, message, &error, -EINVAL);
|
||||
|
||||
if ((mode = kill_mode_from_string(smode)) < 0 ||
|
||||
(who = kill_who_from_string(swho)) < 0 ||
|
||||
signo <= 0 ||
|
||||
signo >= _NSIG)
|
||||
if (isempty(swho))
|
||||
who = KILL_ALL;
|
||||
else {
|
||||
who = kill_who_from_string(swho);
|
||||
if (who < 0)
|
||||
return bus_send_error_reply(connection, message, &error, -EINVAL);
|
||||
}
|
||||
|
||||
if (isempty(smode))
|
||||
mode = KILL_CONTROL_GROUP;
|
||||
else {
|
||||
mode = kill_mode_from_string(smode);
|
||||
if (mode < 0)
|
||||
return bus_send_error_reply(connection, message, &error, -EINVAL);
|
||||
}
|
||||
|
||||
if (signo <= 0 || signo >= _NSIG)
|
||||
return bus_send_error_reply(connection, message, &error, -EINVAL);
|
||||
|
||||
if ((r = unit_kill(u, who, mode, signo, &error)) < 0)
|
||||
|
Loading…
Reference in New Issue
Block a user