Home | History | Annotate | Download | only in libusb
      1 diff --git a/libusb/libusb.h b/libusb/libusb.h
      2 index e8e1201..15bd0d5 100644
      3 --- a/libusb/libusb.h
      4 +++ b/libusb/libusb.h
      5 @@ -25,6 +25,12 @@
      6  #define LIBUSB_H
      7  
      8  #ifdef _MSC_VER
      9 +// Disable warning 4200 for [0].
     10 +#pragma warning(push)
     11 +#pragma warning(disable: 4200)
     12 +#endif
     13 +
     14 +#ifdef _MSC_VER
     15  /* on MS environments, the inline keyword is available in C++ only */
     16  #if !defined(__cplusplus)
     17  #define inline __inline
     18 @@ -1938,4 +1944,8 @@ void LIBUSB_CALL libusb_hotplug_deregister_callback(libusb_context *ctx,
     19  }
     20  #endif
     21  
     22 +#ifdef _MSC_VER
     23 +#pragma warning(pop)
     24 +#endif
     25 +
     26  #endif
     27 diff --git a/libusb/os/threads_posix.c b/libusb/os/threads_posix.c
     28 index 9769f58..46f6db7 100644
     29 --- a/libusb/os/threads_posix.c
     30 +++ b/libusb/os/threads_posix.c
     31 @@ -20,11 +20,6 @@
     32   */
     33  
     34  #if defined(__linux__) || defined(__OpenBSD__)
     35 -# if defined(__linux__)
     36 -#  define _GNU_SOURCE
     37 -# else
     38 -#  define _BSD_SOURCE
     39 -# endif
     40  # include <unistd.h>
     41  # include <sys/syscall.h>
     42  #elif defined(__APPLE__)
     43 diff --git a/libusb/os/windows_usb.c b/libusb/os/windows_usb.c
     44 index 63357b1..51ce55d 100644
     45 --- a/libusb/os/windows_usb.c
     46 +++ b/libusb/os/windows_usb.c
     47 @@ -2142,6 +2142,7 @@ static int windows_handle_events(struct libusb_context *ctx, struct pollfd *fds,
     48  			windows_handle_callback(transfer, io_result, io_size);
     49  		} else {
     50  			usbi_err(ctx, "could not find a matching transfer for fd %x", fds[i]);
     51 +			usbi_mutex_unlock(&ctx->open_devs_lock);
     52  			return LIBUSB_ERROR_NOT_FOUND;
     53  		}
     54  	}
     55