nsiproxy.sys: Update interface table only if LUID is not found in convert_unix_name_to_luid().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
1f3c1fdbc7
commit
50c27f88e3
|
@ -615,18 +615,24 @@ BOOL convert_unix_name_to_luid( const char *unix_name, NET_LUID *luid )
|
||||||
{
|
{
|
||||||
struct if_entry *entry;
|
struct if_entry *entry;
|
||||||
BOOL ret = FALSE;
|
BOOL ret = FALSE;
|
||||||
|
int updated = 0;
|
||||||
|
|
||||||
pthread_mutex_lock( &if_list_lock );
|
pthread_mutex_lock( &if_list_lock );
|
||||||
|
|
||||||
update_if_table();
|
do
|
||||||
|
{
|
||||||
LIST_FOR_EACH_ENTRY( entry, &if_list, struct if_entry, entry )
|
LIST_FOR_EACH_ENTRY( entry, &if_list, struct if_entry, entry )
|
||||||
|
{
|
||||||
if (!strcmp( entry->if_unix_name, unix_name ))
|
if (!strcmp( entry->if_unix_name, unix_name ))
|
||||||
{
|
{
|
||||||
*luid = entry->if_luid;
|
*luid = entry->if_luid;
|
||||||
ret = TRUE;
|
ret = TRUE;
|
||||||
break;
|
goto done;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
} while (!updated++ && update_if_table());
|
||||||
|
|
||||||
|
done:
|
||||||
pthread_mutex_unlock( &if_list_lock );
|
pthread_mutex_unlock( &if_list_lock );
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Reference in New Issue