[PATCH] include: add BUG_WARN macro for internal bug cases.
Alan Coopersmith
alan.coopersmith at oracle.com
Wed Nov 9 15:56:34 PST 2011
On 11/08/11 21:14, Peter Hutterer wrote:
> There are plenty of cases that can only be triggered by a real bug in the
> server and doing the ErrorF dance manually everywhere is a tad painful and
> the error message is usually used only to find the spot in the file anyway.
>
> Plus, reading BUG_WARN somewhere is a good indicator to the casual reader
> that this isn't intended behaviour.
>
> Note that this is intentionally different to the BUG_ON behaviour on the
> kernel, we do not FatalError the server. It's just a warning + stacktrace.
> If the bug is really fatal, call FatalError.
>
> Signed-off-by: Peter Hutterer<peter.hutterer at who-t.net>
> ---
> include/misc.h | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/include/misc.h b/include/misc.h
> index dc03911..0584f08 100644
> --- a/include/misc.h
> +++ b/include/misc.h
> @@ -359,4 +359,11 @@ typedef struct _CharInfo *CharInfoPtr; /* also in fonts/include/font.h */
> extern _X_EXPORT unsigned long globalSerialNumber;
> extern _X_EXPORT unsigned long serverGeneration;
>
> +#define BUG_WARN(cond) \
> + do { if (cond) { \
> + ErrorF("BUG: triggered 'if (" #cond ")'\nBUG: %s:%d in %s()\n", \
> + __FILE__, __LINE__, __func__); \
> + xorg_backtrace(); \
> + } } while(0)
> +
> #endif /* MISC_H */
Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>
--
-Alan Coopersmith- alan.coopersmith at oracle.com
Oracle Solaris Platform Engineering: X Window System
More information about the xorg-devel
mailing list