diff options
-rw-r--r-- | meta/lib/oeqa/utils/sshcontrol.py | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/meta/lib/oeqa/utils/sshcontrol.py b/meta/lib/oeqa/utils/sshcontrol.py index da485ee408..05d6502550 100644 --- a/meta/lib/oeqa/utils/sshcontrol.py +++ b/meta/lib/oeqa/utils/sshcontrol.py | |||
@@ -52,17 +52,19 @@ class SSHProcess(object): | |||
52 | endtime = self.starttime + timeout | 52 | endtime = self.starttime + timeout |
53 | eof = False | 53 | eof = False |
54 | while time.time() < endtime and not eof: | 54 | while time.time() < endtime and not eof: |
55 | if select.select([self.process.stdout], [], [], 5)[0] != []: | 55 | try: |
56 | data = os.read(self.process.stdout.fileno(), 1024) | 56 | if select.select([self.process.stdout], [], [], 5)[0] != []: |
57 | if not data: | 57 | data = os.read(self.process.stdout.fileno(), 1024) |
58 | self.process.stdout.close() | 58 | if not data: |
59 | eof = True | 59 | self.process.stdout.close() |
60 | else: | 60 | eof = True |
61 | data = data.decode("utf-8") | 61 | else: |
62 | output += data | 62 | data = data.decode("utf-8") |
63 | self.log(data) | 63 | output += data |
64 | endtime = time.time() + timeout | 64 | self.log(data) |
65 | 65 | endtime = time.time() + timeout | |
66 | except InterruptedError: | ||
67 | continue | ||
66 | 68 | ||
67 | # process hasn't returned yet | 69 | # process hasn't returned yet |
68 | if not eof: | 70 | if not eof: |