[pulseaudio-discuss] [PATCH] Use Type=notify for systemd service

Peter Meerwald pmeerw at pmeerw.net
Thu Aug 6 01:14:52 PDT 2015


> This ensures systemd knows when pulseaudio finishes loading, thus never
> marking pulseaudio as active if startup fails.

the notify thing doesn't work together with --daemonize; not sure how 
obvious that is but maybe a warning for the user would be good

otherwise: works for me

> ---
>  src/daemon/main.c                             | 8 ++++++++
>  src/daemon/systemd/user/pulseaudio.service.in | 1 +
>  2 files changed, 9 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..ae9e8e5 100644
> --- a/src/daemon/systemd/user/pulseaudio.service.in
> +++ b/src/daemon/systemd/user/pulseaudio.service.in
> @@ -2,6 +2,7 @@
>  Description=Sound Service
>  
>  [Service]
> +Type=notify
>  ExecStart=@PA_BINARY@ --daemonize=no
>  Restart=on-failure
>  
> -- 
> 2.4.6
> 
> _______________________________________________
> pulseaudio-discuss mailing list
> pulseaudio-discuss at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
> 

-- 

Peter Meerwald
+43-664-2444418 (mobile)


More information about the pulseaudio-discuss mailing list