From 18348527511e6bb966fb866cad2f35e36b2f143a Mon Sep 17 00:00:00 2001 From: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> Date: Mon, 5 May 2025 21:37:01 +0100 Subject: [PATCH] gh-132017: Handle SIGCONT in `pyrepl` (#132918) (cherry picked from commit e4561da886717ddd01ab0970452a14a1531e874d) # Conflicts: # Lib/_pyrepl/unix_console.py --- Lib/_pyrepl/unix_console.py | 6 ++++++ .../2025-04-25-10-51-00.gh-issue-132017.SIGCONT1.rst | 1 + 2 files changed, 7 insertions(+) create mode 100644 Misc/NEWS.d/next/Library/2025-04-25-10-51-00.gh-issue-132017.SIGCONT1.rst diff --git a/Lib/_pyrepl/unix_console.py b/Lib/_pyrepl/unix_console.py index e69c96b11598aa..5b0c2fef92c0f0 100644 --- a/Lib/_pyrepl/unix_console.py +++ b/Lib/_pyrepl/unix_console.py @@ -199,6 +199,12 @@ def _my_getstr(cap: str, optional: bool = False) -> bytes | None: self.event_queue = EventQueue(self.input_fd, self.encoding) self.cursor_visible = 1 + signal.signal(signal.SIGCONT, self._sigcont_handler) + + def _sigcont_handler(self, signum, frame): + self.restore() + self.prepare() + def more_in_buffer(self) -> bool: return bool( self.input_buffer diff --git a/Misc/NEWS.d/next/Library/2025-04-25-10-51-00.gh-issue-132017.SIGCONT1.rst b/Misc/NEWS.d/next/Library/2025-04-25-10-51-00.gh-issue-132017.SIGCONT1.rst new file mode 100644 index 00000000000000..a11ccb9e07e01a --- /dev/null +++ b/Misc/NEWS.d/next/Library/2025-04-25-10-51-00.gh-issue-132017.SIGCONT1.rst @@ -0,0 +1 @@ +Fix error when ``pyrepl`` is suspended, then resumed and terminated.