[Wine-patches] usbhub.sys: Set event also if error.
Alexander Morozov
=?iso-8859-1?q?amorozov_=CE=C1_etersoft=2Eru?=
Чт Апр 30 17:46:28 MSD 2009
Патч исправляет допущенную при добавлении поддержки libusb-1.0 ошибку,
приводяющую к заметному замедлению запуска на машинах, на которых
libusb_get_device_list завершается неудачно (например, builder). Замедление
было связано с тем, что enum_usb_devices завершается, не устанавливая
событие, которое ждёт services.
----------- следующая часть -----------
From 7ac31f8bd27814c5d02a4d86bafcab477ffcb4da Mon Sep 17 00:00:00 2001
From: Alexander Morozov <amorozov на etersoft.ru>
Date: Thu, 30 Apr 2009 17:34:06 +0400
Subject: [eterhack] usbhub.sys: Set event also if error.
---
dlls/usbhub.sys/usbhub.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/dlls/usbhub.sys/usbhub.c b/dlls/usbhub.sys/usbhub.c
index 5d42461..c1ebb61 100644
--- a/dlls/usbhub.sys/usbhub.c
+++ b/dlls/usbhub.sys/usbhub.c
@@ -714,19 +714,19 @@ static DWORD CALLBACK enum_usb_devices( void *usbhubdrv )
if (!enum_reg_usb_devices())
{
ERR( "failed to enumerate USB devices\n" );
- return 1;
+ goto end;
}
#ifdef HAVE_LIBUSB_H
if (libusb_init( NULL ))
{
ERR( "failed to initialize libusb\n" );
- return 1;
+ goto end;
}
if (libusb_get_device_list( NULL, &devs ) < 0)
{
libusb_exit( NULL );
- return 1;
+ goto end;
}
while ((dev = devs[i++]))
{
@@ -814,6 +814,7 @@ static DWORD CALLBACK enum_usb_devices( void *usbhubdrv )
}
#endif
+end:
event = CreateEventW( NULL, TRUE, FALSE, usbhub_started_eventW );
SetEvent( event );
CloseHandle( event );
--
1.6.1.3.GIT
Подробная информация о списке рассылки Wine-patches