lib: don't use igt_warn in signal handlers

igt_wan and other log functions are not async-signal safe, so should not
be used in signal handlers.

Reported-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
This commit is contained in:
Thomas Wood 2015-09-10 11:40:43 +01:00
parent bcd3e1f33f
commit 2bacd07eb3

View File

@ -47,6 +47,7 @@
#include <sys/syscall.h>
#include <sys/utsname.h>
#include <termios.h>
#include <assert.h>
#include "drmtest.h"
#include "i915_drm.h"
@ -769,9 +770,13 @@ static void igt_module_param_exit_handler(int sig)
if (fd >= 0) {
int size = strlen (data->original_value);
if (size != write(fd, data->original_value, size))
igt_warn("%s may not have been reset to its"
" original value\n", file_path);
if (size != write(fd, data->original_value, size)) {
const char msg[] = "WARNING: Module parameters "
"may not have been reset to their "
"original values\n";
assert(write(STDERR_FILENO, msg, sizeof(msg))
== sizeof(msg));
}
close(fd);
}