[pulseaudio-discuss] [PATCH 1/2] daemon: Use Type=notify for systemd service

Felipe Sateler fsateler at debian.org
Thu Aug 13 15:58:27 PDT 2015


This ensures systemd knows when pulseaudio finishes loading, thus never
marking pulseaudio as active if startup fails.
---
 src/daemon/main.c                             | 8 ++++++++
 src/daemon/systemd/user/pulseaudio.service.in | 2 ++
 2 files changed, 10 insertions(+)

diff --git a/src/daemon/main.c b/src/daemon/main.c
index 82dec01..24fe8dc 100644
--- a/src/daemon/main.c
+++ b/src/daemon/main.c
@@ -1131,12 +1131,20 @@ int main(int argc, char *argv[]) {
 
     pa_log_info("Daemon startup complete.");
 
+#ifdef HAVE_SYSTEMD_DAEMON
+    sd_notify(0, "READY=1");
+#endif
+
     retval = 0;
     if (pa_mainloop_run(mainloop, &retval) < 0)
         goto finish;
 
     pa_log_info("Daemon shutdown initiated.");
 
+#ifdef HAVE_SYSTEMD_DAEMON
+    sd_notify(0, "STOPPING=1");
+#endif
+
 finish:
 #ifdef HAVE_DBUS
     if (server_bus)
diff --git a/src/daemon/systemd/user/pulseaudio.service.in b/src/daemon/systemd/user/pulseaudio.service.in
index e08ff1e..df42fc3 100644
--- a/src/daemon/systemd/user/pulseaudio.service.in
+++ b/src/daemon/systemd/user/pulseaudio.service.in
@@ -2,6 +2,8 @@
 Description=Sound Service
 
 [Service]
+# Note that notify will only work if --daemonize=no
+Type=notify
 ExecStart=@PA_BINARY@ --daemonize=no
 Restart=on-failure
 
-- 
2.4.6



More information about the pulseaudio-discuss mailing list