On Sun, Feb 22, 2009 at 11:47:15PM -0500, Paul O'Keefe wrote: > where is the check to make sure that ret == data.GetSize()? What > happens if we have a short write. It looks like the decision was > already made earlier to fragment or not fragment the packet, but there > is no check here to make sure we wrote what we said we wanted to write.
Good question, but I didn't think that short writes were possible via libusb. Looking at the linux.c:usb_urb_transfer() function, there is a loop that keeps going if bytesdone < size. Of course there are other conditions in that do/while loop, so maybe I misread. Add an if statement and throw an exception if you get a short write... that should find the problem pretty quick. :-) - Chris ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Barry-devel mailing list Barry-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/barry-devel