X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/21607bbefb2ec7cb04771ad6892a7b20f63f963e..4115a0fa5b9d17327806d6b7846e80fe4100eb77:/tools/interfaces/IStatusBarService.py diff --git a/tools/interfaces/IStatusBarService.py b/tools/interfaces/IStatusBarService.py index af572dd..d4dad60 100644 --- a/tools/interfaces/IStatusBarService.py +++ b/tools/interfaces/IStatusBarService.py @@ -73,10 +73,11 @@ def get_service(args): # Like ServiceManager.wait() but can be interrupted def wait_for_manager(sm): mainloop = GLib.MainLoop() - sm.add_presence_handler(lambda: mainloop.quit() if sm.is_present() else None) + hndl = sm.add_presence_handler(lambda: mainloop.quit() if sm.is_present() else None) GLib.timeout_add_seconds(60, lambda: mainloop.quit()) GLib.unix_signal_add(GLib.PRIORITY_HIGH, signal.SIGINT, lambda _: mainloop.quit(), None) mainloop.run() + sm.remove_handler(hndl) if not sm.is_present(): return False return True