diff mbox

[i-g-t] testdisplay: only set terminal attributes when in foreground process group

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

Commit Message

Thomas Wood July 25, 2014, 10:46 a.m. UTC
The Piglit test runner for intel-gpu-tools creates a new process group
for the test processes, so attempting to set terminal attributes causes
the process to receive SIGTTOU and be stopped. Since the test is not run
interactively in this case, the issue can be avoided by not setting
terminal attributes if the process is not in the foreground process
group.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
---
 tests/testdisplay.c | 5 +++++
 1 file changed, 5 insertions(+)
diff mbox

Patch

diff --git a/tests/testdisplay.c b/tests/testdisplay.c
index 6d8fe3a..f60e66d 100644
--- a/tests/testdisplay.c
+++ b/tests/testdisplay.c
@@ -725,6 +725,11 @@  static void set_termio_mode(void)
 {
 	struct termios tio;
 
+	/* don't attempt to set terminal attributes if not in the foreground
+	 * process group */
+	if (getpgrp() != tcgetpgrp(STDOUT_FILENO))
+		return;
+
 	tio_fd = dup(STDIN_FILENO);
 	tcgetattr(tio_fd, &saved_tio);
 	igt_install_exit_handler(restore_termio_mode);