forked from Mirrors/wine-wine
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
parent
ed75a7b344
commit
b9af36933f
|
@ -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. */
|
/* Mask of logical threads sharing same physical core in kernel core numbering. */
|
||||||
sprintf(name, core_info, i, "thread_siblings");
|
sprintf(name, core_info, i, "thread_siblings");
|
||||||
f = fopen(name, "r");
|
if(!sysfs_parse_bitmap(name, &thread_mask))
|
||||||
if(f)
|
thread_mask = 1<<i;
|
||||||
{
|
|
||||||
fscanf(f, "%lx", &thread_mask);
|
|
||||||
fclose(f);
|
|
||||||
}
|
|
||||||
else thread_mask = 1<<i;
|
|
||||||
if(!logical_proc_info_add_by_id(data, dataex, &len, max_len, RelationProcessorCore, phys_core, thread_mask))
|
if(!logical_proc_info_add_by_id(data, dataex, &len, max_len, RelationProcessorCore, phys_core, thread_mask))
|
||||||
{
|
{
|
||||||
fclose(fcpu_list);
|
fclose(fcpu_list);
|
||||||
|
|
Loading…
Reference in New Issue