Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optionally use GUsbSource on Linux to avoid threading issues #83

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

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.

2 participants