[Idle-dev] CVS: idle rpc.py,1.18,1.19 run.py,1.12,1.13
Kurt B. Kaiser
kbk@users.sourceforge.net
Tue, 11 Mar 2003 14:55:59 -0800
Update of /cvsroot/idlefork/idle
In directory sc8-pr-cvs1:/tmp/cvs-serv21237
Modified Files:
rpc.py run.py
Log Message:
M rpc.py
M run.py
1. Clarify that rpc.SocketIO._getresponse() currently blocks on socket.
2. Improve exception handling in subprocess when GUI terminates abruptly.
Index: rpc.py
===================================================================
RCS file: /cvsroot/idlefork/idle/rpc.py,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -r1.18 -r1.19
*** rpc.py 10 Mar 2003 20:42:24 -0000 1.18
--- rpc.py 11 Mar 2003 22:55:54 -0000 1.19
***************
*** 241,247 ****
if threading.currentThread() is self.mainthread:
# Main thread: does all reading of requests or responses
! # Loop here until there is message traffic on the socket
while 1:
! response = self.pollresponse(myseq, None)
if response is not None:
return response
--- 241,247 ----
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)
if response is not None:
return response
***************
*** 347,351 ****
if message is None: # socket not ready
return None
! wait = 0.0
seq, resq = message
self.debug("pollresponse:%d:myseq:%s" % (seq, myseq))
--- 347,351 ----
if message is None: # socket not ready
return None
! #wait = 0.0 # poll on subsequent passes instead of blocking
seq, resq = message
self.debug("pollresponse:%d:myseq:%s" % (seq, myseq))
Index: run.py
===================================================================
RCS file: /cvsroot/idlefork/idle/run.py,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** run.py 3 Mar 2003 20:06:48 -0000 1.12
--- run.py 11 Mar 2003 22:55:56 -0000 1.13
***************
*** 93,97 ****
sys.stdout.softspace = 0
sys.stdout.write("\n")
! except AttributeError:
pass
--- 93,97 ----
sys.stdout.softspace = 0
sys.stdout.write("\n")
! except (AttributeError, EOFError):
pass