diff options
Diffstat (limited to 'usrp')
-rw-r--r-- | usrp/host/lib/fusb_libusb1.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/usrp/host/lib/fusb_libusb1.cc b/usrp/host/lib/fusb_libusb1.cc index 6f1fc913f..dc51d5709 100644 --- a/usrp/host/lib/fusb_libusb1.cc +++ b/usrp/host/lib/fusb_libusb1.cc @@ -261,7 +261,13 @@ fusb_devhandle_libusb1::_cancel_lut (libusb_transfer *lut) /* * Reimplementing _reap for context use and compatibiliy with libusb-0.12. - * Returns false on error, true otherwise. + * + * Returns false on timeout or error, true if an event was handled + * + * If ok_to_block_p is false then handle already pending events and return + * immediately. + * If ok_to_block_p is true then call libusb_handle_events_timeout with default + * timeout value of 2 seconds, which returns on event arrival or timeout. */ bool @@ -279,8 +285,9 @@ fusb_devhandle_libusb1::_reap (bool ok_to_block_p) tv.tv_usec = 0; } + if ((ret = libusb_handle_events_timeout(d_ctx, &tv)) < 0) { - fprintf (stderr, "fusb::_reap libusb_handle_events()\n"); + fprintf (stderr, "fusb::_reap libusb_handle_events() %i\n", ret); return false; } |