File: 0022-grc-Accept-failures-in-message-sending.patch

package info (click to toggle)
gnuradio 3.10.12.0-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 41,196 kB
  • sloc: cpp: 191,540; python: 91,856; ansic: 2,292; xml: 999; fortran: 927; sh: 477; makefile: 50
file content (44 lines) | stat: -rw-r--r-- 1,205 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
From 64b829fd912f5deffd3001e9e3721def13863fc1 Mon Sep 17 00:00:00 2001
From: Martin Braun <martin.braun@ettus.com>
Date: Wed, 22 Jan 2025 20:35:04 +0100
Subject: [PATCH 22/41] grc: Accept failures in message sending

This fixes a rare corner case seen in unit tests, where multiple tests
interfere with one another on the sys.stdout messenger.

Signed-off-by: Martin Braun <martin.braun@ettus.com>
---
 grc/core/Messages.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/grc/core/Messages.py b/grc/core/Messages.py
index c9a4fef2e3..91a21a375c 100644
--- a/grc/core/Messages.py
+++ b/grc/core/Messages.py
@@ -5,8 +5,9 @@
 #
 
 
-import traceback
+import logging
 import sys
+import traceback
 
 #  A list of functions that can receive a message.
 MESSENGERS_LIST = list()
@@ -40,7 +41,11 @@ def send(message):
         message: a message string
     """
     for messenger in MESSENGERS_LIST:
-        messenger(_indent + message)
+        try:
+            messenger(_indent + message)
+        except:
+            logging.getLogger(__name__).error(
+                "Error in messenger: %s (message: %s)", messenger, message)
 
 
 # register stdout by default
-- 
2.47.3