Skip to content

gdbusobjectmanagerclient: Call GetManagedObjects async

Guido Günther requested to merge guidog/glib:async-get-objects into main

This helps to void deadlocks when two processes call interfaces on each other one of them being org.freedesktop.DBus.ObjectManager.

I've hit this issue with one side using GtkApplication (app1) wanting to get Screensaver status and the other side being (app2) implementing that screensaver interface but also wanting to fetch managed objects on a totally unrelted interface of app1 (gtk!3599 (merged)). Either of the two MRs fixes the problem for me but i figured it's better to look at both ends. I found the locking/threading requirements of GDBusObjectManagerClient hard to understand so i'm pretty sure i missed something.

Merge request reports