[oe-commits] [openembedded-core] 14/22: runqemu: change terminal settings for valid tty's

git at git.openembedded.org git at git.openembedded.org
Wed Jun 14 13:55:04 UTC 2017


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master
in repository openembedded-core.

commit 06742ed59092530aedf03f65c3c9542c24ff7ac3
Author: Mikko Ylinen <mikko.ylinen at linux.intel.com>
AuthorDate: Tue Jun 13 18:39:09 2017 +0300

    runqemu: change terminal settings for valid tty's
    
    runqemu uses stty to change terminal settings to give users
    better control to qemu. However, stty does not work when
    runqemu is run directly or indirectly via oe-selftest in
    a Docker container (presumably some problems with Docker's
    pseudo-tty implementation).
    
    The error reported is:
    stty: 'standard input': Inappropriate ioctl for device
    
    As runqemu recently moved to subprocess.check_call() for
    stty calls we now get thrown an error and all runqemu
    runs fail.
    
    sys.stdin.isatty() does proper job in detecting if the stty
    calls can work so we use that check before running the stty
    subprocess operations.
    
    Signed-off-by: Mikko Ylinen <mikko.ylinen at linux.intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 scripts/runqemu | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index 311fbeb..26328e5 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -955,8 +955,8 @@ class BaseConfig(object):
     def setup_network(self):
         if self.get('QB_NET') == 'none':
             return
-        cmd = "stty -g"
-        self.saved_stty = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE).stdout.read().decode('utf-8')
+        if sys.stdin.isatty():
+            self.saved_stty = subprocess.check_output("stty -g", shell=True).decode('utf-8')
         self.network_device = self.get('QB_NETWORK_DEVICE') or self.network_device
         if self.slirp_enabled:
             self.setup_slirp()
@@ -1096,9 +1096,9 @@ class BaseConfig(object):
             self.qemu_opt += " -snapshot"
 
         if self.serialstdio:
-            logger.info("Interrupt character is '^]'")
-            cmd = "stty intr ^]"
-            subprocess.check_call(cmd, shell=True)
+            if sys.stdin.isatty():
+                subprocess.check_call("stty intr ^]", shell=True)
+                logger.info("Interrupt character is '^]'")
 
             first_serial = ""
             if not re.search("-nographic", self.qemu_opt):

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list