[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