1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-27 18:55:40 +03:00

units: express Conflict in syslog.socket instead of emergency.service

Note this commit only changes how the code is expressed; it does not change
the existence of any dependency.

The `Conflicts=` was added in 3136ec90, "Stop syslog.socket when entering
emergency mode".  The discussion in the issue #266 raised concerns that
this might be needed for other units, but failed to point out why
syslog.socket is special.  The reason is that syslog.socket has
DefaultDepedencies=no, so it does not get Requires=sysinit.target like
other socket units do.  But syslog.service does require sysinit.target,
among other things.

We don't have many socket, path, or timer units with
DefaultDependencies=no, and I don't think any of the triggered services
have such additional hard dependencies as syslog.service does.

It is much less confusing if we keep this `Conflicts=` in the same file as
the `DefaultDependencies=no` which made it necessary.
This commit is contained in:
Alan Jenkins 2017-09-29 17:20:31 +01:00
parent a3b22cc596
commit 950d8fcdd9
2 changed files with 5 additions and 2 deletions

View File

@ -11,7 +11,6 @@ Documentation=man:sulogin(8)
DefaultDependencies=no
Conflicts=shutdown.target
Conflicts=rescue.service
Conflicts=syslog.socket
Before=shutdown.target
[Service]

View File

@ -10,10 +10,14 @@ Description=Syslog Socket
Documentation=man:systemd.special(7)
Documentation=https://www.freedesktop.org/wiki/Software/systemd/syslog
DefaultDependencies=no
Before=sockets.target shutdown.target
Before=sockets.target
# Don't allow logging until the very end
Conflicts=shutdown.target
Before=shutdown.target
# Don't try to activate syslog.service if sysinit.target has failed.
Conflicts=emergency.service
[Socket]
ListenDatagram=/run/systemd/journal/syslog