mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
1. Make the startup more robust by not spawning the subprocess if IDLE
can't acquire the port to listen on. 2. Shorten the retry and simplify the messages.
This commit is contained in:
parent
7f38ec0849
commit
5db4843c5e
1 changed files with 3 additions and 6 deletions
|
@ -325,22 +325,19 @@ class ModifiedInterpreter(InteractiveInterpreter):
|
|||
|
||||
def start_subprocess(self):
|
||||
addr = ("localhost", self.port)
|
||||
self.spawn_subprocess()
|
||||
# Idle starts listening for connection on localhost
|
||||
for i in range(6):
|
||||
for i in range(3):
|
||||
time.sleep(i)
|
||||
try:
|
||||
self.rpcclt = rpc.RPCClient(addr)
|
||||
break
|
||||
except socket.error, err:
|
||||
if i < 3:
|
||||
print>>sys.__stderr__, ". ",
|
||||
else:
|
||||
print>>sys.__stderr__,"\nIdle socket error: " + err[1]\
|
||||
print>>sys.__stderr__,"Idle socket error: " + err[1]\
|
||||
+ ", retrying..."
|
||||
else:
|
||||
display_port_binding_error()
|
||||
sys.exit()
|
||||
self.spawn_subprocess()
|
||||
# Accept the connection from the Python execution server
|
||||
self.rpcclt.accept()
|
||||
self.rpcclt.register("stdin", self.tkconsole)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue