[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