summaryrefslogtreecommitdiff
path: root/src/daemon
diff options
context:
space:
mode:
authorTanu Kaskinen <tanuk@iki.fi>2016-07-20 23:39:59 +0300
committerTanu Kaskinen <tanuk@iki.fi>2016-07-20 23:39:59 +0300
commitedff1b2204587925178ffd00736afdbcdfb8778f (patch)
tree1f3acdffae547ca61d672f03b41c3d2a68d16f26 /src/daemon
parent7cb524a77b892edfd31986382ffbf5276b3eb631 (diff)
downloadpulseaudio-edff1b2204587925178ffd00736afdbcdfb8778f.tar.gz
launch: explain why .service depends on .socket
The reason for depending on the socket unit is rather unobvious, so let's add a comment to help people reading the service unit file. Felipe Sateler explained the rationale well in the commit message of 7cb524a77b89, so I just copied the same text into the comment.
Diffstat (limited to 'src/daemon')
-rw-r--r--src/daemon/systemd/user/pulseaudio.service.in14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/daemon/systemd/user/pulseaudio.service.in b/src/daemon/systemd/user/pulseaudio.service.in
index 0bd2a913d..0d03cc5a6 100644
--- a/src/daemon/systemd/user/pulseaudio.service.in
+++ b/src/daemon/systemd/user/pulseaudio.service.in
@@ -1,5 +1,19 @@
[Unit]
Description=Sound Service
+
+# We require pulseaudio.socket to be active before starting the daemon, for two
+# reasons:
+#
+# 1. There are no implicit dependencies between sockets and services, so
+# the socket, as set up by systemd will race with the socket, as set up
+# by the pulseaudio daemon. This can cause the pulseaudio.socket unit to
+# fail (even though the pulseaudio service started just fine), which can
+# confuse users.
+# 2. While it is possible to use the service without the socket, it is not
+# clear why it would be desirable. And a user installing pulseaudio and
+# doing `systemctl --user start pulseaudio` will not get the socket
+# started, which might be confusing and problematic if the server is to
+# be restarted later on, as the client autospawn feature might kick in.
Requires=pulseaudio.socket
After=pulseaudio.socket