From f29d0c927dfbccf8913da309c41de5eebfde47bb Mon Sep 17 00:00:00 2001 From: Eugenio Parodi Date: Sat, 9 Sep 2023 19:01:55 +0100 Subject: [PATCH] Catch "BlockingIOError" in the term_unix --- TermTk/TTkCore/TTkTerm/term_unix.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/TermTk/TTkCore/TTkTerm/term_unix.py b/TermTk/TTkCore/TTkTerm/term_unix.py index 53c6e32d..659714dc 100644 --- a/TermTk/TTkCore/TTkTerm/term_unix.py +++ b/TermTk/TTkCore/TTkTerm/term_unix.py @@ -29,6 +29,7 @@ except Exception as e: exit(1) from .term_base import TTkTermBase +from ..log import TTkLog class TTkTerm(TTkTermBase): _sigWinChCb = None @@ -80,8 +81,13 @@ class TTkTerm(TTkTermBase): @staticmethod def _push(*args): - sys.stdout.write(str(*args)) - sys.stdout.flush() + try: + sys.stdout.write(str(*args)) + sys.stdout.flush() + except BlockingIOError as e: + TTkLog.fatal(f"{e=} {e.characters_written=}") + except Exception as e: + TTkLog.fatal(e) TTkTermBase.push = _push @staticmethod