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
7cb524a77b, so I just copied the same text into the comment.
This commit is contained in:
Tanu Kaskinen 2016-07-20 23:39:59 +03:00
parent 7cb524a77b
commit edff1b2204

View file

@ -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