On Tue, Mar 8, 2016 at 11:25 PM, Jonathon Jongsma <jjongsma@xxxxxxxxxx> wrote: > cancelled_cb() (which is triggered when the GCancellable's "cancelled" > signal is emitted) called spice_usb_acl_helper_close_acl(), which calls > spice_usb_acl_helper_cleanup(), which in turn calls > g_cancellable_disconnect(). Calling g_cancellable_disconnect() from > within a "cancelled" handler results in a dealock, as mentioned in the > documentation. Instead of closing the acl here, simply return the > CANCELLED GError here. the cleanup() call will happen when the > SpiceUsbAclHelper object is destroyed. > --- > src/usb-acl-helper.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/usb-acl-helper.c b/src/usb-acl-helper.c > index 6a49627..3145b68 100644 > --- a/src/usb-acl-helper.c > +++ b/src/usb-acl-helper.c > @@ -162,7 +162,7 @@ static void cancelled_cb(GCancellable *cancellable, gpointer user_data) > { > SpiceUsbAclHelper *self = SPICE_USB_ACL_HELPER(user_data); > > - spice_usb_acl_helper_close_acl(self); > + async_result_set_cancelled(self->priv->result); > } > > static void helper_child_watch_cb(GPid pid, gint status, gpointer user_data) > -- > 2.4.3 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/spice-devel Acked-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx> _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel