[PATCH v3 07/16] Make BUG_WARN* signal safe

Peter Hutterer peter.hutterer at who-t.net
Thu May 10 23:23:29 PDT 2012


On Mon, Apr 16, 2012 at 11:14:24AM -0700, Chase Douglas wrote:
> Signed-off-by: Chase Douglas <chase.douglas at canonical.com>
> ---
>  include/misc.h |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/include/misc.h b/include/misc.h
> index 3f7d07e..4ea8781 100644
> --- a/include/misc.h
> +++ b/include/misc.h
> @@ -371,10 +371,10 @@ extern _X_EXPORT unsigned long serverGeneration;
>  /* Don't use this directly, use BUG_WARN or BUG_WARN_MSG instead */
>  #define __BUG_WARN_MSG(cond, with_msg, ...)                                \
>            do { if (cond) {                                                \
> -              ErrorF("BUG: triggered 'if (" #cond ")'\n");                \
> -              ErrorF("BUG: %s:%d in %s()\n",                              \
> -                      __FILE__, __LINE__, __func__);                      \
> -              if (with_msg) ErrorF(__VA_ARGS__);                          \
> +              ErrorSigSafe("BUG: triggered 'if (" #cond ")'\n");          \
> +              ErrorSigSafe("BUG: %s:%u in %s()\n",                        \
> +                           __FILE__, __LINE__, __func__);                 \
> +              if (with_msg) ErrorSigSafe(__VA_ARGS__);                    \
>                xorg_backtrace();                                           \

has the backtrace here, is that signal-safe? 

>            } } while(0)
>  
> -- 
> 1.7.9.1
> 


More information about the xorg-devel mailing list