diff mbox series

oeqa/qemurunner: Ensure we retry after BrokenPipeError

Message ID 20231011083943.61007-1-richard.purdie@linuxfoundation.org
State Accepted, archived
Commit ea9e6ba0ab31a0b20012c283aa768496a50b527a
Headers show
Series oeqa/qemurunner: Ensure we retry after BrokenPipeError | expand

Commit Message

Richard Purdie Oct. 11, 2023, 8:39 a.m. UTC
If the BrokenPipeError occurs when writing to the serial port to wake it
up, defer the write and try again (which will happen on the 5s timeout
of the select call). Why it should return ESHUTDOWN and then work later
I'm not sure but it does appear to make it work. For now we need 'working'
QA tests whilst the issue is debugged.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/lib/oeqa/utils/qemurunner.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index cb3231da63b..a52fa41768f 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -465,9 +465,9 @@  class QemuRunner:
                 self.logger.warning('Probing the serial port to wake it up!')
                 try:
                     self.server_socket.sendall(bytes("\n\n", "utf-8"))
+                    sentnewlines = True
                 except BrokenPipeError as e:
                     self.logger.debug('Probe failed %s' % repr(e))
-                sentnewlines = True
             for file in sread:
                 if file is self.server_socket:
                     qemusock, addr = self.server_socket.accept()