gdbus: Add workaround for deadlocks when cancelling jobs

GVfs calls gvfs_dbus_daemon_proxy_new() in cancelled signal handler which
internally needs CONNECTION_LOCK(connection). The lock can be unfortunately
held by gdbus worker thread which can call g_cancellable_disconnect(). This
obviously leads to deadlocks. I don't see any reason why we have to block
g_cancellable_disconnect() because of gvfs_dbus_daemon_proxy_new() resp.
gvfs_dbus_daemon_call_cancel(). Let's call it over idle source to not block
the cancelled signal handler in order to prevent the deadlocks.

It would be better to fix this issue directly in gdbus codes, however, it
is not fully clear to me, what is a proper way to fix this.

3 jobs for master in 1 minute and 18 seconds (queued for 1 second)
Status Job ID Name Coverage
passed #496254


manual #496255
allowed to fail manual
manual #496256
allowed to fail manual