- Prevent from calling PsTerminateCurrentThread from within an apc if PsTerminateThread was already called. Modified: trunk/reactos/ntoskrnl/ps/kill.c _____
Modified: trunk/reactos/ntoskrnl/ps/kill.c --- trunk/reactos/ntoskrnl/ps/kill.c 2005-01-05 19:03:21 UTC (rev 12828) +++ trunk/reactos/ntoskrnl/ps/kill.c 2005-01-05 19:04:25 UTC (rev 12829) @@ -239,6 +239,12 @@
PVOID SystemArgument1, PVOID SystemArgument2) { + PETHREAD EThread = PsGetCurrentThread(); + if (EThread->HasTerminated) + { + /* Someone else has already called PsTerminateCurrentThread */ + return; + } PsTerminateCurrentThread(PsGetCurrentThread()->ExitStatus); }