socket: only add dependency on kmsg socket to socket units which have any kind of exec program specified
This commit is contained in:
parent
4de856120f
commit
4cfc6dbe52
16
src/socket.c
16
src/socket.c
|
@ -323,6 +323,17 @@ static int socket_add_default_dependencies(Socket *s) {
|
||||||
return unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, NULL, true);
|
return unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, NULL, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool socket_has_exec(Socket *s) {
|
||||||
|
unsigned i;
|
||||||
|
assert(s);
|
||||||
|
|
||||||
|
for (i = 0; i < _SOCKET_EXEC_COMMAND_MAX; i++)
|
||||||
|
if (s->exec_command[i])
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
static int socket_load(Unit *u) {
|
static int socket_load(Unit *u) {
|
||||||
Socket *s = SOCKET(u);
|
Socket *s = SOCKET(u);
|
||||||
int r;
|
int r;
|
||||||
|
@ -352,8 +363,9 @@ static int socket_load(Unit *u) {
|
||||||
if ((r = socket_add_device_link(s)) < 0)
|
if ((r = socket_add_device_link(s)) < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
if ((r = unit_add_exec_dependencies(u, &s->exec_context)) < 0)
|
if (socket_has_exec(s))
|
||||||
return r;
|
if ((r = unit_add_exec_dependencies(u, &s->exec_context)) < 0)
|
||||||
|
return r;
|
||||||
|
|
||||||
if ((r = unit_add_default_cgroups(u)) < 0)
|
if ((r = unit_add_default_cgroups(u)) < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
Loading…
Reference in a new issue