Skip to content

Conversation

@hughsie
Copy link
Owner

@hughsie hughsie commented Oct 17, 2022

Having two threads interact is causing difficult to debug deadlocks. Just use libusb_set_pollfd_notifiers() and use the locking in libusb_handle_events().

By default use a thread to avoid breaking other projects like fprintd that expect to be able to manually process the default GMainContext.

Having two threads interact is causing difficult to debug deadlocks. Just use
libusb_set_pollfd_notifiers() and use the locking in libusb_handle_events().

By default use a thread to avoid breaking other projects like fprintd that
expect to be able to manually process the default GMainContext.
@hughsie hughsie requested review from benzea and nacho October 17, 2022 09:45
@nacho
Copy link
Collaborator

nacho commented Oct 17, 2022

Why Optionally? (I have not checked yet the patch though)

@hughsie
Copy link
Owner Author

hughsie commented Oct 17, 2022

@nacho fprintd is doing some quite unusual things to the GMainContext, which seems to break when we're not processing the events in a thread -- i wrote an email about it here: https://sourceforge.net/p/libusb/mailman/libusb-devel/thread/CAD2FfiHXhwiC9Sd-jEJ2KM6z4FNp%3D3oF8-saO52bp15fDU2hyQ%40mail.gmail.com/#msg37720874 -- it looks like @benzea replied already!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants