Commit 21f18956a84ed8ed7475763faa974055cbe22ef1

Con Kolivas 2013-11-05T19:11:20

Revert "Use no cancel transfer functions on windows in callback_wait" This reverts commit 8f6acad8ec11fa68e31447e4de9e2ce49c2bf16a.

diff --git a/usbutils.c b/usbutils.c
index 8390ee0..70063be 100644
--- a/usbutils.c
+++ b/usbutils.c
@@ -2365,17 +2365,12 @@ static int usb_transfer_toerr(int ret)
 }
 
 /* Wait for callback function to tell us it has finished the USB transfer, but
- * use our own timer to cancel the request if we go beyond the allocated
- * timeout on linux. Windows' cancel transfer breaks so we use libusb's own
- * timeouts and simply wait. */
-static int callback_wait(struct usb_transfer *ut, int *transferred, __maybe_unused unsigned int timeout)
+ * use our own timer to cancel the request if we go beyond the timeout. */
+static int callback_wait(struct usb_transfer *ut, int *transferred, unsigned int timeout)
 {
 	struct libusb_transfer *transfer= ut->transfer;
 	int ret;
 
-#ifdef WIN32
-	cgsem_wait(&ut->cgsem);
-#else
 	ret = cgsem_mswait(&ut->cgsem, timeout);
 	if (ret == ETIMEDOUT) {
 		/* We are emulating a timeout ourself here */
@@ -2384,7 +2379,6 @@ static int callback_wait(struct usb_transfer *ut, int *transferred, __maybe_unus
 		/* Now wait for the callback function to be invoked. */
 		cgsem_wait(&ut->cgsem);
 	}
-#endif
 	ret = transfer->status;
 	ret = usb_transfer_toerr(ret);