return correct ExitCode for non-terminated threads
authorGunnar Dalsnes <hardon@online.no>
Fri, 19 Nov 2004 22:19:33 +0000 (22:19 +0000)
committerGunnar Dalsnes <hardon@online.no>
Fri, 19 Nov 2004 22:19:33 +0000 (22:19 +0000)
svn path=/trunk/; revision=11704

reactos/ntoskrnl/ps/tinfo.c

index c095b20..fc73625 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: tinfo.c,v 1.30 2004/10/24 20:37:27 weiden Exp $
+/* $Id: tinfo.c,v 1.31 2004/11/19 22:19:33 gdalsnes Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -252,7 +252,11 @@ NtQueryInformationThread (IN       HANDLE          ThreadHandle,
             break;
           }
         
-        TBI->ExitStatus = Thread->ExitStatus;
+    /* A test on W2K agains ntdll shows NtQueryInformationThread return STATUS_PENDING
+     * as ExitStatus for current/running thread, while KETHREAD's ExitStatus is 
+     * 0. So do the conversion here:
+     * -Gunnar     */
+    TBI->ExitStatus = (Thread->ExitStatus == 0) ? STATUS_PENDING : Thread->ExitStatus;
         TBI->TebBaseAddress = Thread->Tcb.Teb;
         TBI->ClientId = Thread->Cid;
         TBI->AffinityMask = Thread->Tcb.Affinity;