From 4419e2ce2a359e0f756b7138c20f1ed9a00b8434 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Wed, 9 Aug 2006 12:46:41 +0000 Subject: [PATCH] A thread may exit with a status code of 0. svn path=/trunk/; revision=23533 --- reactos/ntoskrnl/ps/query.c | 4 +--- reactos/ntoskrnl/ps/thread.c | 3 +++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/reactos/ntoskrnl/ps/query.c b/reactos/ntoskrnl/ps/query.c index dabc6b2005a..40b30338132 100644 --- a/reactos/ntoskrnl/ps/query.c +++ b/reactos/ntoskrnl/ps/query.c @@ -921,9 +921,7 @@ NtQueryInformationThread(IN HANDLE ThreadHandle, _SEH_TRY { /* Write all the information from the ETHREAD/KTHREAD */ - ThreadBasicInfo->ExitStatus = (Thread->ExitStatus == 0) ? - STATUS_PENDING : - Thread->ExitStatus; + ThreadBasicInfo->ExitStatus = Thread->ExitStatus; ThreadBasicInfo->TebBaseAddress = (PVOID)Thread->Tcb.Teb; ThreadBasicInfo->ClientId = Thread->Cid; ThreadBasicInfo->AffinityMask = Thread->Tcb.Affinity; diff --git a/reactos/ntoskrnl/ps/thread.c b/reactos/ntoskrnl/ps/thread.c index 2d793acd401..c8dfa3ab97b 100644 --- a/reactos/ntoskrnl/ps/thread.c +++ b/reactos/ntoskrnl/ps/thread.c @@ -239,6 +239,9 @@ PspCreateThread(OUT PHANDLE ThreadHandle, /* Initialize rundown protection */ ExInitializeRundownProtection(&Thread->RundownProtect); + /* Initialize exit code */ + Thread->ExitStatus = STATUS_PENDING; + /* Set the Process CID */ Thread->ThreadsProcess = Process; Thread->Cid.UniqueProcess = Process->UniqueProcessId;