commit | 37e8b1334e59485e1d4735f5f67b31eba37ae5c9 | [log] [tgz] |
---|---|---|
author | Chris Dickens <christopher.a.dickens@gmail.com> | Tue Aug 18 09:19:03 2020 -0700 |
committer | Chris Dickens <christopher.a.dickens@gmail.com> | Tue Aug 18 09:19:03 2020 -0700 |
tree | c5c77139bf226ae7bf4f1d67a891f8eef61b026d | |
parent | d42410b21c4314143f31fd7f8494dd1d4c279663 [diff] |
Windows: Fix I/O completion port thread behavior on error The GetQueuedCompletionStatus() returns FALSE when the I/O operation itself does not complete successfully. The I/O completion thread should therefore not exit on this condition. Adjust the check to verify that an OVERLAPPED structure was provided and use an explicit completion key value in the exit path to disambiguate receiving a valid NULL OVERLAPPED pointer. Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
libusb is a library for USB device access from Linux, macOS, Windows, OpenBSD/NetBSD, Haiku and Solaris userspace. It is written in C (Haiku backend in C++) and licensed under the GNU Lesser General Public License version 2.1 or, at your option, any later version (see COPYING).
libusb is abstracted internally in such a way that it can hopefully be ported to other operating systems. Please see the PORTING file for more information.
libusb homepage: http://libusb.info/
Developers will wish to consult the API documentation: http://api.libusb.info
Use the mailing list for questions, comments, etc: http://mailing-list.libusb.info
(Please use the mailing list rather than mailing developers directly)