summaryrefslogtreecommitdiff
path: root/units/syslog.socket
diff options
context:
space:
mode:
authorAlan Jenkins <alan.christopher.jenkins@gmail.com>2017-09-29 17:20:31 +0100
committerAlan Jenkins <alan.christopher.jenkins@gmail.com>2017-09-29 17:34:55 +0100
commit950d8fcdd9aa7e71ad32ea224e7d6fbe0f9f53de (patch)
tree075da5e438f5a04aa307c3421fff98d35eb71853 /units/syslog.socket
parenta3b22cc5962efef2f4cd57d49f59a67e0617e9e0 (diff)
downloadsystemd-950d8fcdd9aa7e71ad32ea224e7d6fbe0f9f53de.tar.gz
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.
Diffstat (limited to 'units/syslog.socket')
-rw-r--r--units/syslog.socket6
1 files changed, 5 insertions, 1 deletions
diff --git a/units/syslog.socket b/units/syslog.socket
index d3987cb9a8..372e8fcd45 100644
--- a/units/syslog.socket
+++ b/units/syslog.socket
@@ -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