[gnome-session/benzea/systemd-condition-evaluator: 4/7] data: Delete the session leader fifo at shutdown time



commit b0c02cfc354b1f80929f20d9ce86c9554d08971e
Author: Benjamin Berg <bberg redhat com>
Date:   Thu Apr 9 15:25:02 2020 +0200

    data: Delete the session leader fifo at shutdown time
    
    To do so, update and rename the dbus-restart service to also delete the
    file. Doing this means that we can check for the existence of the named
    fifo (in most cases) to verify that a GNOME managed session is running.
    
    It is not perfect, but good enough for some purposes.

 ...tart-dbus.service.in => gnome-session-post-shutdown.service.in} | 7 ++++---
 data/gnome-session-shutdown.target                                 | 4 ++--
 data/meson.build                                                   | 2 +-
 3 files changed, 7 insertions(+), 6 deletions(-)
---
diff --git a/data/gnome-session-restart-dbus.service.in b/data/gnome-session-post-shutdown.service.in
similarity index 56%
rename from data/gnome-session-restart-dbus.service.in
rename to data/gnome-session-post-shutdown.service.in
index e90f6bc8..dbb42520 100644
--- a/data/gnome-session-restart-dbus.service.in
+++ b/data/gnome-session-post-shutdown.service.in
@@ -1,10 +1,11 @@
 [Unit]
-Description=Restart DBus after GNOME Session shutdown
+Description=GNOME Session shutdown cleanup tasks
 
 # Allow exit.target to start even if this unit is started with replace-irreversibly
-# Also put it into a slice that doesn't have such implicit dependencies
 DefaultDependencies=no
 
 [Service]
-Type=notify
+Type=oneshot
+RemainAfterExit=no
 ExecStart=@libexecdir@/gnome-session-ctl --restart-dbus
+ExecStart=rm %t/gnome-session-leader-fifo
diff --git a/data/gnome-session-shutdown.target b/data/gnome-session-shutdown.target
index 607dc6e7..84334acb 100644
--- a/data/gnome-session-shutdown.target
+++ b/data/gnome-session-shutdown.target
@@ -28,5 +28,5 @@ StopWhenUnneeded=true
 # This should be removed when the relevant services add a
 # PartOf=graphical-session.target
 # Historic bug: https://bugzilla.gnome.org/show_bug.cgi?id=764029
-Wants=gnome-session-restart-dbus.service
-Before=gnome-session-restart-dbus.service
+Wants=gnome-session-post-shutdown.service
+Before=gnome-session-post-shutdown.service
diff --git a/data/meson.build b/data/meson.build
index 3ae6f245..2a390da9 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -101,7 +101,7 @@ if enable_systemd_session
 
   systemd_service = ['gnome-session-manager@.service',
                      'gnome-session-signal-init.service',
-                     'gnome-session-restart-dbus.service',
+                     'gnome-session-post-shutdown.service',
                      'gnome-session-monitor.service',
                      'gnome-session-failed.service']
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]