Re: [PATCH i-g-t 1/5] lib: print recent log output if a test fails

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 17, 2014 at 05:19:21PM +0000, Chris Wilson wrote:
> char *new, *old;
sigset_t block_signals, save_signals;
 
> asprintf(&new,
> 	 "(%s:%d) %s%s%s: %s",
> 	 program_name, getpid(),
> 	 (domain) ? domain : "",
> 	 (domain) ? "-" : "",
> 	 igt_log_level_str[level],
> 	 line);

sigfillset(&block_signals);
pthread_sigmask(SIG_SETMASK, &block_signals, &save_signals);
> 
> pthread_mutex_lock(&log_buffer_mutex);
> old = log_buffer.entries[log_buffer.end];
> log_bufffer.entries[log_buffer.end] = new;
> if (++log_buffer.end == log_buffer.start)
> 	log_buffer.start++;
> pthread_mutex_unlock(&log_buffer_mutex);

pthread_sigmask(SIG_SETMASK, &save_signals, NULL);
 
> free(old);

That will at least stop SIGARLM and friends firing whilst we poke around
inside log_buffer. It might make a test result unstable, but will
prevent that same instability from causing a lockup of igt.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux