diff mbox

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

Message ID 1441882027-23333-1-git-send-email-thomas.wood@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Thomas Wood Sept. 10, 2015, 10:47 a.m. UTC
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>
---
 lib/igt_aux.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
diff mbox

Patch

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);
 		}