From 097191b3a89c09a492f322eac539eb5db8668843 Mon Sep 17 00:00:00 2001 From: Thomas Tsou Date: Mon, 2 Nov 2009 16:53:29 -0500 Subject: 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. --- usrp/host/lib/fusb_libusb1.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'usrp') 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 -- cgit