From 3869ce90e50c0ea9f00ec48cf2a667741cf5a446 Mon Sep 17 00:00:00 2001 From: Emanuele Aliberti Date: Wed, 15 Aug 2001 20:35:39 +0000 Subject: [PATCH] Minor fixes in KERNEL32.TerminateThread() and in KERNEL32.TerminateProcess(). svn path=/trunk/; revision=2177 --- reactos/lib/kernel32/process/proc.c | 24 +++++++++++++++--------- reactos/lib/kernel32/thread/thread.c | 27 ++++++++++++++++----------- 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/reactos/lib/kernel32/process/proc.c b/reactos/lib/kernel32/process/proc.c index 495165877e3..ee509c9a530 100644 --- a/reactos/lib/kernel32/process/proc.c +++ b/reactos/lib/kernel32/process/proc.c @@ -1,4 +1,4 @@ -/* $Id: proc.c,v 1.40 2001/03/31 01:17:30 dwelch Exp $ +/* $Id: proc.c,v 1.41 2001/08/15 20:35:38 ea Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -523,15 +523,21 @@ TerminateProcess ( UINT uExitCode ) { - NTSTATUS errCode; - - errCode = NtTerminateProcess (hProcess, uExitCode); - if (!NT_SUCCESS(errCode)) + if (0 == hProcess) + { + SetLastError (ERROR_INVALID_HANDLE); + } + else + { + NTSTATUS Status = NtTerminateProcess (hProcess, uExitCode); + + if (NT_SUCCESS(Status)) { - SetLastErrorByStatus (errCode); - return FALSE; - } - return TRUE; + return TRUE; + } + SetLastErrorByStatus (Status); + } + return FALSE; } diff --git a/reactos/lib/kernel32/thread/thread.c b/reactos/lib/kernel32/thread/thread.c index 0db5ad19389..6f9aa24bda3 100644 --- a/reactos/lib/kernel32/thread/thread.c +++ b/reactos/lib/kernel32/thread/thread.c @@ -1,4 +1,4 @@ -/* $Id: thread.c,v 1.25 2001/08/07 14:13:45 ekohl Exp $ +/* $Id: thread.c,v 1.26 2001/08/15 20:35:39 ea Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -415,16 +415,21 @@ WINBOOL STDCALL TerminateThread (HANDLE hThread, DWORD dwExitCode) { - NTSTATUS errCode; - - errCode = NtTerminateThread(hThread, - dwExitCode); - if (!NT_SUCCESS(errCode)) - { - SetLastErrorByStatus(errCode); - return FALSE; - } - return TRUE; + if (0 == hThread) + { + SetLastError (ERROR_INVALID_HANDLE); + } + else + { + NTSTATUS Status = NtTerminateThread (hThread, dwExitCode); + + if (NT_SUCCESS(Status)) + { + return TRUE; + } + SetLastErrorByStatus (Status); + } + return FALSE; }