diff options
Diffstat (limited to 'libusb')
-rw-r--r-- | libusb/core.c | 1 | ||||
-rw-r--r-- | libusb/os/threads_windows.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/libusb/core.c b/libusb/core.c index 6da729f..da0ca9d 100644 --- a/libusb/core.c +++ b/libusb/core.c @@ -831,6 +831,7 @@ API_EXPORTED void libusb_unref_device(libusb_device *dev) usbi_mutex_lock(&dev->ctx->usb_devs_lock); list_del(&dev->list); usbi_mutex_unlock(&dev->ctx->usb_devs_lock); + usbi_mutex_destroy(&dev->lock); free(dev); } diff --git a/libusb/os/threads_windows.c b/libusb/os/threads_windows.c index 11b55f9..da49eec 100644 --- a/libusb/os/threads_windows.c +++ b/libusb/os/threads_windows.c @@ -62,7 +62,7 @@ int usbi_mutex_lock(usbi_mutex_t *mutex) { } int usbi_mutex_unlock(usbi_mutex_t *mutex) { if(!mutex) return ((errno=EINVAL)); - if(!ReleaseMutex(mutex)) return ((errno=EPERM )); + if(!ReleaseMutex(*mutex)) return ((errno=EPERM )); return 0; } |