https://github.com/python/cpython/commit/1dfe5def081bf8e05706df4cbd6b5590e191e70b
commit: 1dfe5def081bf8e05706df4cbd6b5590e191e70b
branch: 3.13
author: Stan Ulbrych <[email protected]>
committer: pablogsal <[email protected]>
date: 2025-05-05T23:13:08+02:00
summary:

[3.13] gh-132017: Handle SIGCONT in `pyrepl` (#132918) (#133470)

files:
A Misc/NEWS.d/next/Library/2025-04-25-10-51-00.gh-issue-132017.SIGCONT1.rst
M Lib/_pyrepl/unix_console.py

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.

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to