hotplug: Wakeup libusb_handle_events on libusb_hotplug_deregister_callback
commitac41bfc0fdcf2229fbeb19cdf802cc6b551fd365
authorHans de Goede <hdegoede@redhat.com>
Thu, 4 Jul 2013 14:38:22 +0000 (4 16:38 +0200)
committerHans de Goede <hdegoede@redhat.com>
Fri, 5 Jul 2013 07:06:21 +0000 (5 09:06 +0200)
tree6ed0898e2ce20dda2e28644e2d83ab56f6adc3e4
parentf50592979811a00d52305ea02b420cb9cacc99b4
hotplug: Wakeup libusb_handle_events on libusb_hotplug_deregister_callback

This serves 2 purposes:

1) We use lazy free-ing of the callback structure, for it to be actually
free-ed usbi_hotplug_match() needs to be called. This ensures this actually
happens (rather then waiting for a hotplug event to arrive, and not freeing
the callback as long as no such event arrives).

2) It causes libusb_handle_events to return to its caller on a call to
libusb_hotplug_deregister_callback, which is very useful for apps which use
a thread to do their apps (hotplug) event handling, otherwise that thread will
hang when the app tries to stop until some event happens.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
libusb/hotplug.c
libusb/version_nano.h