Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
94afd309
Commit
94afd309
authored
Mar 12, 2003
by
Kurt B. Kaiser
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move setting of ioready 'wait' earlier in call chain, to
rpc.SocketIO.main() and asyncreturn(). Improve comment.
parent
b1fbf855
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
8 deletions
+24
-8
Lib/idlelib/NEWS.txt
Lib/idlelib/NEWS.txt
+16
-0
Lib/idlelib/rpc.py
Lib/idlelib/rpc.py
+8
-8
No files found.
Lib/idlelib/NEWS.txt
View file @
94afd309
...
...
@@ -7,11 +7,27 @@ What's New in IDLEfork 0.9 Alpha 3?
*Release date: xx-xxx-2003*
- Implemented the 'interrupt' extension module, which allows a subthread
to raise a KeyboardInterrupt in the main thread.
- Attempting to save the shell raised an error related to saving
breakpoints, which are not implemented in the shell
- Provide a correct message when 'exit' or 'quit' are entered at the
IDLE command prompt SF 695861
- Eliminate extra blank line in shell output caused by not flushing
stdout when user code ends with an unterminated print. SF 695861
- Moved responsibility for exception formatting (i.e. pruning IDLE internal
calls) out of rpc.py into the client and server.
- Exit IDLE cleanly even when doing subprocess I/O
- Handle subprocess interrupt in Windows with an RPC message.
- Calling Run will restart the subprocess even if user code is running.
SF RFE 661321
- Restart the subprocess if it terminates itself. (VPython programs do that)
...
...
Lib/idlelib/rpc.py
View file @
94afd309
...
...
@@ -192,7 +192,7 @@ class SocketIO:
def
asyncreturn
(
self
,
seq
):
self
.
debug
(
"asyncreturn:%d:call getresponse(): "
%
seq
)
response
=
self
.
getresponse
(
seq
)
response
=
self
.
getresponse
(
seq
,
wait
=
None
)
self
.
debug
((
"asyncreturn:%d:response: "
%
seq
),
response
)
return
self
.
decoderesponse
(
response
)
...
...
@@ -211,17 +211,17 @@ class SocketIO:
def
mainloop
(
self
):
"""Listen on socket until I/O not ready or EOF
pollpacket() will loop looking for seq number None, which never
comes. The loop will exit when self.ioready() returns 0
.
Main thread pollresponse() will loop looking for seq number None, which
never comes, and exit on EOFError
.
"""
try
:
self
.
getresponse
(
None
)
self
.
getresponse
(
myseq
=
None
,
wait
=
None
)
except
EOFError
:
pass
def
getresponse
(
self
,
myseq
):
response
=
self
.
_getresponse
(
myseq
)
def
getresponse
(
self
,
myseq
,
wait
):
response
=
self
.
_getresponse
(
myseq
,
wait
)
if
response
is
not
None
:
how
,
what
=
response
if
how
==
"OK"
:
...
...
@@ -236,13 +236,13 @@ class SocketIO:
# XXX Check for other types -- not currently needed
return
obj
def
_getresponse
(
self
,
myseq
):
def
_getresponse
(
self
,
myseq
,
wait
):
self
.
debug
(
"_getresponse:myseq:"
,
myseq
)
if
threading
.
currentThread
()
is
self
.
mainthread
:
# Main thread: does all reading of requests or responses
# Loop here, blocking each time until socket is ready.
while
1
:
response
=
self
.
pollresponse
(
myseq
,
wait
=
None
)
response
=
self
.
pollresponse
(
myseq
,
wait
)
if
response
is
not
None
:
return
response
else
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment