server/process: Fix logging issues where only the first message was displayed

Message ID 20220624215614.276988-1-richard.purdie@linuxfoundation.org
State Accepted, archived
Commit d3e64f64525187f1409531a0bd99df576e627f7f
Headers show
Series server/process: Fix logging issues where only the first message was displayed | expand

Commit Message

Richard Purdie June 24, 2022, 9:56 p.m. UTC
I realised only the first logging message was being displayed in a given
parsing process. The reason turned out to be the UI handler failing
with a "pop from empty list". The default handler was then lost and
no further messages were processed.

Fix this by catching the exception correctly in the connection writer code.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 lib/bb/server/process.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Patch

diff --git a/lib/bb/server/process.py b/lib/bb/server/process.py
index 43790b6631..5d02c0b9f5 100644
--- a/lib/bb/server/process.py
+++ b/lib/bb/server/process.py
@@ -756,8 +756,11 @@  class ConnectionWriter(object):
                 process.queue_signals = True
                 self._send(obj)
                 process.queue_signals = False
-                for sig in process.signal_received.pop():
-                    process.handle_sig(sig, None)
+                try:
+                    for sig in process.signal_received.pop():
+                        process.handle_sig(sig, None)
+                except IndexError:
+                    pass
         else:
             self._send(obj)