[pulseaudio-commits] 2 commits - src/daemon
Tanu Kaskinen
tanuk at kemper.freedesktop.org
Wed Jul 20 20:44:58 UTC 2016
src/daemon/systemd/user/pulseaudio.service.in | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
New commits:
commit edff1b2204587925178ffd00736afdbcdfb8778f
Author: Tanu Kaskinen <tanuk at iki.fi>
Date: Wed Jul 20 23:39:59 2016 +0300
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.
diff --git a/src/daemon/systemd/user/pulseaudio.service.in b/src/daemon/systemd/user/pulseaudio.service.in
index 0bd2a91..0d03cc5 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
commit 7cb524a77b892edfd31986382ffbf5276b3eb631
Author: Felipe Sateler <fsateler at debian.org>
Date: Wed Jul 20 09:57:13 2016 -0400
launch: make pulseaudio.service properly order and require the socket
This commit fixes two problems:
1. Because there are no implicit dependencies between sockets and services,
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.
diff --git a/src/daemon/systemd/user/pulseaudio.service.in b/src/daemon/systemd/user/pulseaudio.service.in
index df42fc3..0bd2a91 100644
--- a/src/daemon/systemd/user/pulseaudio.service.in
+++ b/src/daemon/systemd/user/pulseaudio.service.in
@@ -1,5 +1,7 @@
[Unit]
Description=Sound Service
+Requires=pulseaudio.socket
+After=pulseaudio.socket
[Service]
# Note that notify will only work if --daemonize=no
More information about the pulseaudio-commits
mailing list