I don't want to trod on anyone's tail, but assigning _Thread = KeGetCurrentThread(), and then asserting _Thread == KeGetCurrentThread() on the next line does seem excessively myopic, yes ?
Unless you expect KeGetCurrentThread() to be fubar and return rand(), in which case the assert should be removed when KeGetCurrentThread() gets it's head on straight.
As to the talent, or lack thereof, of MS programmers, we might talk about it if we ever have a table with some beer on it between us.
They're not *all* wrong.. no ;)
L.
On 2016-09-24 23.23, ros-dev-request@reactos.org wrote:
Subject: Re: [ros-dev] [ros-diffs] [dchapyshev] 72787: [NTOSKRNL] Remove unneeded sanity checks From: Alex Ionescu ionucu@videotron.ca Date: 2016-09-24 21.29
To: ReactOS Development List ros-dev@reactos.org CC: Linda Wang ros-diffs@reactos.org
Thanks for removing stuff that exists in the NT kernel as sanity checks -- the entire MS dev team must be wrong, thanks for correcting them all:)
Make sure not to ask "anyone can explain these checks? they seem useless to me" when removing stuff like this. Best regards, Alex Ionescu
On Sat, Sep 24, 2016 at 2:30 AM,dchapyshev@svn.reactos.org wrote:
Author: dchapyshev Date: Sat Sep 24 09:30:06 2016 New Revision: 72787
URL:http://svn.reactos.org/svn/reactos?rev=72787&view=rev Log: [NTOSKRNL] Remove unneeded sanity checks
Modified: trunk/reactos/ntoskrnl/include/internal/ke_x.h
Modified: trunk/reactos/ntoskrnl/include/internal/ke_x.h URL:http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/k... ============================================================================== --- trunk/reactos/ntoskrnl/include/internal/ke_x.h [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/include/internal/ke_x.h [iso-8859-1] Sat Sep 24 09:30:06 2016 @@ -25,7 +25,6 @@ \ /* Sanity checks */ \ ASSERT(KeGetCurrentIrql() <= APC_LEVEL); \
- ASSERT(_Thread == KeGetCurrentThread()); \ ASSERT((_Thread->SpecialApcDisable <= 0) && \ (_Thread->SpecialApcDisable != -32768)); \ \
@@ -42,7 +41,6 @@ \ /* Sanity checks */ \ ASSERT(KeGetCurrentIrql() <= APC_LEVEL); \
- ASSERT(_Thread == KeGetCurrentThread()); \ ASSERT(_Thread->SpecialApcDisable < 0); \ \ /* Leave region and check if APCs are OK now */ \
@@ -66,7 +64,6 @@ PKTHREAD _Thread = KeGetCurrentThread(); \ \ /* Sanity checks */ \
- ASSERT(_Thread == KeGetCurrentThread()); \ ASSERT((_Thread->KernelApcDisable <= 0) && \ (_Thread->KernelApcDisable != -32768)); \ \
@@ -82,7 +79,6 @@ PKTHREAD _Thread = KeGetCurrentThread(); \ \ /* Sanity checks */ \
- ASSERT(_Thread == KeGetCurrentThread()); \ ASSERT(_Thread->KernelApcDisable < 0); \ \ /* Enable Kernel APCs */ \