[fpc-pascal] USB Human Interface Devices
Stefan V. Pantazi
svpantazi at gmail.com
Fri Aug 23 16:54:29 CEST 2019
Thanks for pushing on this. I think any pending timeout/transfer must be
explicitly canceled before closing the USB device, so that the thread
can end gracefully.
The only way I see is to use something like
libusb_handle_events_timeout_completed
http://libusb.sourceforge.net/api-1.0/group__poll.html#ga43e52b912a760b41a0cf8a4a472fbd5b
before closing the USB device context.
That function is not currently part of the libusbx and has a time_t
parameter that appears C-specific but for some reason is not included in
ctypes unit. But I am sure Pascal equivalents can be defined. I will do
some tests to include the libusb_handle_events_timeout_completed in
libusbx and libusbhid and let you know.
On 8/23/19 7:07 AM, James Richters wrote:
> Stefan ,
> Do you get the following errors when you exit your program? Is there some way I should shut down the read thread so I don't get this error? I've been using a timeout of 0
>
>
> libusb: error [do_close] Device handle closed while transfer was still being processed, but the device is still connected as far as we know
> libusb: error [do_close] A cancellation hasn't even been scheduled on the transfer for which the device is closing
> libusb: warning [libusb_exit] some libusb_devices were leaked
> Assertion failed!
>
> Program: i:\programming\gcode\libusbxhid\whb04b-4_test.exe
> File: os/poll_windows.c, Line 145
>
> Expression: fd != NULL
> Heap dump by heaptrc unit of i:\programming\gcode\libusbxhid\whb04b-4_test.exe
> 50 memory blocks allocated : 1782/1968
> 50 memory blocks freed : 1782/1968
> 0 unfreed memory blocks : 0
> True heap size : 131072 (160 used in System startup)
> True free heap : 130912
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
>
--
_______________________________________________________
More information about the fpc-pascal
mailing list