On 05/04/13 02:25, Xiaofan Chen wrote:
> On Fri, Apr 5, 2013 at 12:04 AM, Toby Gray<toby.g...@realvnc.com>  wrote:
>> I understand that this is probably too risky a change to get into 1.0.15,
>> especially as no-one else seems to have reported it.
> There were past reports of issues under Windows XP and Windows 7
> when using libusbx async API  with multithreaded programs. I am not
> so sure if your issue is related to the reports or not though.
> https://github.com/libusbx/libusbx/issues/52
> Orhttp://www.libusb.org/ticket/140

I did see the issue described in those reports once while investigating 
the null pointer dereference. As far as I can remember the fds that poll 
was looking contained an fd that didn't appear in the flying transfer 
list, so attempting to find a transfer always failed.

If step 15 happened slightly differently, so that the OVERLAPPED had 
been set to non-zero after the incorrect, old, fd had been read then the 
wrong transfer would be completed.

When the OS signalled that the transfer that was incorrectly completed 
has completed then the backend would fail to find the signalled fd in 
the flying transfers list as it has already removed the wrong transfer 
from the list for the previous completed transfer.

Regards,

Toby

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to