ntdll: Fix parsing thread_siblings bitmaps on high core count systems.

Linux compiled for a high number of CPU cores, the bitmap is broken
into sections of 32-bit by commas. Handle parsing this.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45453
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Roderick Colenbrander 2018-12-02 22:53:16 -08:00 committed by Alexandre Julliard
parent ed75a7b344
commit b9af36933f
1 changed files with 2 additions and 7 deletions

View File

@ -1704,13 +1704,8 @@ static NTSTATUS create_logical_proc_info(SYSTEM_LOGICAL_PROCESSOR_INFORMATION **
/* Mask of logical threads sharing same physical core in kernel core numbering. */
sprintf(name, core_info, i, "thread_siblings");
f = fopen(name, "r");
if(f)
{
fscanf(f, "%lx", &thread_mask);
fclose(f);
}
else thread_mask = 1<<i;
if(!sysfs_parse_bitmap(name, &thread_mask))
thread_mask = 1<<i;
if(!logical_proc_info_add_by_id(data, dataex, &len, max_len, RelationProcessorCore, phys_core, thread_mask))
{
fclose(fcpu_list);