From 3fc0ee4f9310c20cf26c4acd2290237e6e363cda Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 7 Apr 2026 14:17:16 +0300 Subject: [PATCH] events: disconnect dbus bus after poweroff call Signed-off-by: NotAShelf Change-Id: Ic1b4940d276a473a709f0812ef800c666a6a6964 --- src/flipoff/events.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/flipoff/events.py b/src/flipoff/events.py index f416ec0..e7f91c9 100644 --- a/src/flipoff/events.py +++ b/src/flipoff/events.py @@ -31,13 +31,16 @@ class PoweroffEvent(Event): from dbus_next.constants import BusType bus = await MessageBus(bus_type=BusType.SYSTEM).connect() - proxy = bus.get_proxy_object( - "org.freedesktop.login1", - "/org/freedesktop/login1", - None, - ) - manager = proxy.get_interface("org.freedesktop.login1.Manager") - await manager.call_power_off(False) + try: + proxy = bus.get_proxy_object( + "org.freedesktop.login1", + "/org/freedesktop/login1", + None, + ) + manager = proxy.get_interface("org.freedesktop.login1.Manager") + await manager.call_power_off(False) + finally: + await bus.disconnect() class EventRegistry: