Updated with upstream suggestions in https://github.com/libusb/hidapi/pull/577

main
Sam Lantinga 2023-06-01 07:27:51 -07:00
parent 4f58445f03
commit 0cff44dbd4
1 changed files with 2 additions and 2 deletions

View File

@ -1234,7 +1234,7 @@ int HID_API_EXPORT HID_API_CALL hid_read_timeout(hid_device *dev, unsigned char
res = WaitForSingleObject(ev, milliseconds >= 0 ? (DWORD)milliseconds : INFINITE); res = WaitForSingleObject(ev, milliseconds >= 0 ? (DWORD)milliseconds : INFINITE);
if (res != WAIT_OBJECT_0) { if (res != WAIT_OBJECT_0) {
/* There was no data this time. Return zero bytes available, /* There was no data this time. Return zero bytes available,
but leave the Overlapped I/O running. */ but leave the Overlapped I/O running. */
return 0; return 0;
} }
@ -1242,7 +1242,7 @@ int HID_API_EXPORT HID_API_CALL hid_read_timeout(hid_device *dev, unsigned char
array which was passed to ReadFile(). We must not wait here because we've array which was passed to ReadFile(). We must not wait here because we've
already waited on our event above, and since it's auto-reset, it will have already waited on our event above, and since it's auto-reset, it will have
been reset back to unsignalled by now. */ been reset back to unsignalled by now. */
res = GetOverlappedResult(dev->device_handle, &dev->ol, &bytes_read, FALSE/*don't wait*/); res = GetOverlappedResult(dev->device_handle, &dev->ol, &bytes_read, FALSE/*don't wait now - already did on the prev step*/);
} }
/* Set pending back to false, even if GetOverlappedResult() returned error. */ /* Set pending back to false, even if GetOverlappedResult() returned error. */
dev->read_pending = FALSE; dev->read_pending = FALSE;