unit: don't Require systemd-journald.socket from units

It is not really necessary to have a hard requirement dependency on
systemd-journald.socket in almost every unit. The socket gets pulled
into boot via at least two ways:
 sockets.target -> systemd-journald.socket
 sysinit.target -> systemd-journald.service -> systemd-journald.socket

So just assume something pulled the socket in and drop the automatic
requirement dependencies on it.

"systemctl stop systemd-journald.socket" will now not take the whole
system down with it.
This commit is contained in:
Michal Schmidt 2013-02-15 22:42:26 +01:00
parent 80cbda3558
commit 9d246da3c6

View file

@ -616,9 +616,11 @@ int unit_add_exec_dependencies(Unit *u, ExecContext *c) {
/* If syslog or kernel logging is requested, make sure our own
* logging daemon is run first. */
if (u->manager->running_as == SYSTEMD_SYSTEM)
if ((r = unit_add_two_dependencies_by_name(u, UNIT_REQUIRES, UNIT_AFTER, SPECIAL_JOURNALD_SOCKET, NULL, true)) < 0)
if (u->manager->running_as == SYSTEMD_SYSTEM) {
r = unit_add_dependency_by_name(u, UNIT_AFTER, SPECIAL_JOURNALD_SOCKET, NULL, true);
if (r < 0)
return r;
}
return 0;
}