mirror of
https://github.com/python/cpython.git
synced 2025-09-26 10:19:53 +00:00
[3.13] gh-120221: Support KeyboardInterrupt in asyncio REPL (GH-123795) (#123799)
This switches the main pyrepl event loop to always be non-blocking so that it
can listen to incoming interruptions from other threads.
This also resolves invalid display of exceptions from other threads
(gh-123178).
This also fixes freezes with pasting and an active input hook.
(cherry picked from commit 033510e11d
)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
This commit is contained in:
parent
66b15381f1
commit
5c3078d6e5
8 changed files with 133 additions and 21 deletions
|
@ -479,7 +479,7 @@ class WindowsConsole(Console):
|
|||
while True:
|
||||
if msvcrt.kbhit(): # type: ignore[attr-defined]
|
||||
return True
|
||||
if timeout and time.time() - start_time > timeout:
|
||||
if timeout and time.time() - start_time > timeout / 1000:
|
||||
return False
|
||||
time.sleep(0.01)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue