From: wasertech danny@waser.tech
--- dlls/ntdll/unix/system.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/dlls/ntdll/unix/system.c b/dlls/ntdll/unix/system.c index f6ba50fcb48..654f421324a 100644 --- a/dlls/ntdll/unix/system.c +++ b/dlls/ntdll/unix/system.c @@ -1404,19 +1404,20 @@ static void init_logical_proc_info(void) init_tsc_frequency(); }
-BOOL init_numa_info(FILE_NUMA_NODE_INFORMATION *info) +NTSTATUS init_numa_info(FILE_NUMA_NODE_INFORMATION *info) { unsigned int i;
- if (!info) return FALSE; - pthread_once(&logical_proc_init_once, init_logical_proc_info); + if (!info) { return STATUS_INVALID_PARAMETER; } + if (pthread_once(&logical_proc_init_once, init_logical_proc_info) != 0) { + return STATUS_UNSUCCESSFUL; + }
info->HighestNodeNumber = 0; info->NodeNumber = 0; info->Reserved = 0;
- if (!logical_proc_info_len || !logical_proc_info) - return TRUE; + if (logical_proc_info_len > 0 && !logical_proc_info) { return STATUS_UNSUCCESSFUL; }
for (i = 0; i < logical_proc_info_len; ++i) { @@ -1429,7 +1430,7 @@ BOOL init_numa_info(FILE_NUMA_NODE_INFORMATION *info)
info->NodeNumber = 0; if (info->HighestNodeNumber > info->NodeNumber) { FIXME( "node affinity; using only node %u.\n", info->NodeNumber ); } - return TRUE; + return STATUS_SUCCESS; }
/******************************************************************