[Intel-gfx] [PATCH i-g-t] lib: don't use igt_warn in signal handlers

Thomas Wood thomas.wood at intel.com
Thu Sep 10 03:47:07 PDT 2015


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 at intel.com>
Signed-off-by: Thomas Wood <thomas.wood at intel.com>
---
 lib/igt_aux.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index e77392c..04ca25b 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -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);
 		}
-- 
1.9.1



More information about the Intel-gfx mailing list