From: Thomas Tsou Date: Mon, 2 Nov 2009 21:53:29 +0000 (-0500) Subject: usrp: Check return value in fusb_libusb1 _reap() X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=097191b3a89c09a492f322eac539eb5db8668843;p=debian%2Fgnuradio usrp: Check return value in fusb_libusb1 _reap() The old fusb_libusb1 _reap() call always returned true except on error. With this commit it checks that a transfer is actually reaped and returns false otherwise. --- diff --git a/usrp/host/lib/fusb_libusb1.cc b/usrp/host/lib/fusb_libusb1.cc index 4846f51a..77070845 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