GetProcessAffinityMask() should return correct system affinity mask
Modified: trunk/reactos/lib/kernel32/process/proc.c

Modified: trunk/reactos/lib/kernel32/process/proc.c
--- trunk/reactos/lib/kernel32/process/proc.c	2005-01-07 13:06:11 UTC (rev 12866)
+++ trunk/reactos/lib/kernel32/process/proc.c	2005-01-07 13:34:47 UTC (rev 12867)
@@ -37,7 +37,18 @@
 			LPDWORD lpSystemAffinityMask)
 {
   PROCESS_BASIC_INFORMATION ProcessInfo;
+  SYSTEM_BASIC_INFORMATION SystemInfo;
   NTSTATUS Status;
+  
+  Status = NtQuerySystemInformation(SystemBasicInformation,
+                                    &SystemInfo,
+                                    sizeof(SystemInfo),
+                                    NULL);
+  if (!NT_SUCCESS(Status))
+    {
+      SetLastErrorByStatus (Status);
+      return FALSE;
+    }
 
   Status = NtQueryInformationProcess (hProcess,
 				      ProcessBasicInformation,
@@ -51,10 +62,8 @@
     }
 
   *lpProcessAffinityMask = (DWORD)ProcessInfo.AffinityMask;
+  *lpSystemAffinityMask = (DWORD)SystemInfo.ActiveProcessors;
 
-  /* FIXME */
-  *lpSystemAffinityMask  = 0x00000001;
-
   return TRUE;
 }