Hello
Yes, I do know that ASSERT(FALSE) only occur in debug mode. However, I think this change is safe. Many of the KEBUGCHECK(0) usages are for unimplemented or very rare cases which shouldn't be hit, and the largest use of KEBUGCHECK(0) was in Mm (and the worst that could happen there is that ros survives a little longer).
Anyway, I will look into re-adding KeBugCheck with proper bugcodes where appropriate.
> Date: Sun, 24 Aug 2008 20:15:38 +0200
> From: hpoussin@reactos.org
> To: ros-dev@reactos.org
> Subject: Re: [ros-dev] [ros-diffs] [sginsberg] 35600: - Remove KEBUGCHECK and KEBUGCHECKEX macros - Replace "KeBugCheck(0)" by ASSERT(FALSE) - Replace deprecated "CPRINT" by DRINT1
>
> sginsberg@svn.reactos.org a écrit :
> > Author: sginsberg
> > Date: Sun Aug 24 10:48:05 2008
> > New Revision: 35600
> >
> > URL: http://svn.reactos.org/svn/reactos?rev=35600&view=rev
> > Log:
> > - Remove KEBUGCHECK and KEBUGCHECKEX macros
> > - Replace "KeBugCheck(0)" by ASSERT(FALSE)
> > - Replace deprecated "CPRINT" by DRINT1
> >
>
> You probably understand that KEBUGCHECK(0) is *NOT* the same as
> ASSERT(FALSE)
>
> ASSERT(FALSE) is valid only in debug mode, and lets the code continue in
> release mode.
> KEBUGCHECK stops the execution also in release mode.
>
> For example, in ntoskrnl/dbgk/dbgkobj.c, code now continues even if
> DbgkpQueueMessage failed. Are you sure it is safe to continue in that case?
> (same question applies for other locations)
>
> Hervé
> _______________________________________________
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
Discover the new Windows Vista Learn more!