winusb - WinUSB_AbortPipe Hangs -
if call winusb_abortpipe() winusb_readpipe() starts, deadlock state. ran debug trace log provided here. below last 5 lines in log problem occurs. think readpipe must have missed signal, , abortpipe waiting readpipe complete.
[0]4e34.4b58::06/09/2015-15:42:12.528 - ioctl_winusb_read_pipe [0]4e34.4b58::06/09/2015-15:42:12.528 - pipe129: (00000019) read has been added raw io queue [0]4e34.4b58::06/09/2015-15:42:12.528 - pipe129: (00000019) read being handled [2]4e34.4ecc::06/09/2015-15:42:12.529 - ioctl_winusb_abort_pipe [2]4e34.4b58::06/09/2015-15:42:12.529 - pipe129: (00000019) reading 64 bytes device
in design, have in endpoints read asynchronously buffers. found best set timeout of read operation infinite because driver hates when cause stalls occur (ran other issues that). need have disconnect sequence cause threads wake realize need close. there way safely that?
my workaround instead call winusb_resetpipe(). causes winusb_readpipe() unblock, , doesn't seem lock winusb_abortpipe() does. evidence have works through running tests on several hours, can't guarantee solution.
Comments
Post a Comment