[Intel-gfx] [PATCH i-g-t 3/5] lib/core: Avoid unused result in backtrace printing

Chris Wilson chris at chris-wilson.co.uk
Wed Nov 22 17:52:35 UTC 2017


Quoting Tvrtko Ursulin (2017-11-22 17:44:23)
> 
> Ping on this one - do we want to squash these compile warnings, yes? :)

Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
 
> On 08/11/2017 12:06, Tvrtko Ursulin wrote:
> > From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> > 
> > Add helpers for direct write to stderr to consolidate the code
> > and avoid the unused result warning in build.
> > 
> > v2: Use igt_ignore_warn since it is questionable whether igt_assert
> >      is safe in signal handlers. (Chris Wilson)
> > 
> > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> > ---
> >   lib/igt_core.c | 23 ++++++++++++++++-------
> >   1 file changed, 16 insertions(+), 7 deletions(-)
> > 
> > diff --git a/lib/igt_core.c b/lib/igt_core.c
> > index 538a4472e209..e866bf995872 100644
> > --- a/lib/igt_core.c
> > +++ b/lib/igt_core.c
> > @@ -1239,7 +1239,7 @@ static const char hex[] = "0123456789abcdef";
> >   static void
> >   xputch(int c)
> >   {
> > -     write(STDERR_FILENO, (const void *) &c, 1);
> > +     igt_ignore_warn(write(STDERR_FILENO, (const void *) &c, 1));
> >   }
> >   
> >   static int
> > @@ -1384,13 +1384,23 @@ xprintf(const char *fmt, ...)
> >       va_end(ap);
> >   }
> >   
> > +static void __write_stderr(const char *str, size_t len)
> > +{
> > +     igt_ignore_warn(write(STDERR_FILENO, str, len));
> > +}
> > +
> > +static void write_stderr(const char *str)
> > +{
> > +     __write_stderr(str, strlen(str));
> > +}
> > +
> >   static void print_backtrace_sig_safe(void)
> >   {
> >       unw_cursor_t cursor;
> >       unw_context_t uc;
> >       int stack_num = 0;
> >   
> > -     write(STDERR_FILENO, "Stack trace: \n", 15);
> > +     write_stderr("Stack trace: \n");
> >   
> >       unw_getcontext(&uc);
> >       unw_init_local(&cursor, &uc);
> > @@ -1899,11 +1909,10 @@ static void fatal_sig_handler(int sig)
> >                       continue;
> >   
> >               if (handled_signals[i].name_len) {
> > -                     igt_assert_eq(write(STDERR_FILENO, "Received signal ", 16),
> > -                                      16);
> > -                     igt_assert_eq(write(STDERR_FILENO, handled_signals[i].name, handled_signals[i].name_len),
> > -                                      handled_signals[i].name_len);
> > -                     igt_assert_eq(write(STDERR_FILENO, ".\n", 2), 2);
> > +                     write_stderr("Received signal ");
> > +                     __write_stderr(handled_signals[i].name,
> > +                                    handled_signals[i].name_len);

You could argue that we can kill name_len now that write_stderr makes it
tidier to do without.
-Chris


More information about the Intel-gfx mailing list