diff options
Diffstat (limited to 'usrp/host/lib/fusb_libusb1.cc')
-rw-r--r-- | usrp/host/lib/fusb_libusb1.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/usrp/host/lib/fusb_libusb1.cc b/usrp/host/lib/fusb_libusb1.cc index 4846f51a5..770708451 100644 --- a/usrp/host/lib/fusb_libusb1.cc +++ b/usrp/host/lib/fusb_libusb1.cc @@ -279,6 +279,9 @@ fusb_devhandle_libusb1::_reap (bool ok_to_block_p) int ret; struct timeval tv; + // Save pending size + int pnd_size = d_pending_rqsts.size(); + if (ok_to_block_p) { tv.tv_sec = 2; tv.tv_usec = 0; @@ -293,7 +296,12 @@ fusb_devhandle_libusb1::_reap (bool ok_to_block_p) return false; } - return true; + // Check that a pending transfer was removed + if (pnd_size > d_pending_rqsts.size()) + return true; + else { + return false; + } } void |