Hi,
On 21/8/23 12:46, aitor wrote:
> What the heck is delaying the replay in the message bus?
The delay occurs in the line nº 2175 of the function:
GDBusMessage *
g_dbus_connection_send_message_with_reply_sync (GDBusConnection *connection,
GDBusMessage *message,
GDBusSendMessageFlags flags,
gint timeout_msec,
volatile guint32 *out_serial,
GCancellable *cancellable,
GError **error)
in the file
https://github.com/GNOME/glib/blob/main/gio/gdbusconnection.c
More concretly in the GMainLoop *loop:
g_main_loop_run (data.loop);
With vdev, the loop terminates once the default timeout has expired (~ 25 sec for dbus connections).
At this point, I have an idea... setting a custom callback for the case:
GDBusConnection *connection -> method_name = "Mount" [*]
But, even if it does works, it would be an ugly hack nonetheless.
I think that the ultimately invoked function after the method call in DBus is the opaque:
http://storaged.org/doc/udisks2-api/latest/gdbus-org.freedesktop.UDisks2.Filesystem.html
and I wonder whether it has been intentionally designed to work better with udev.
Where should I ask for help?
DBus mailing list...? Gnome...? Freedesktop...?
What a panorama.
Another alternative I'm taking into consideration is to by-pass in glib2.0 the dbus connection
in favor of my own `usbmount` ( in the particular case [*] ), that makes use of the simple Ubus
inter-process communication.
... But it would be an ugly hack nonetheless.
Cheers,
Aitor.