[Idle-dev] CVS: idle PyShell.py,1.21,1.22 rpc.py,1.4,1.5 run.py,1.5,1.6

Kurt B. Kaiser kbk@users.sourceforge.net
Sun, 04 Aug 2002 20:52:12 -0700


Update of /cvsroot/idlefork/idle
In directory usw-pr-cvs1:/tmp/cvs-serv5390

Modified Files:
	PyShell.py rpc.py run.py 
Log Message:
GvR provided solution to the socket rebinding timeout problem.

M PyShell.py
M rpc.py
M run.py


Index: PyShell.py
===================================================================
RCS file: /cvsroot/idlefork/idle/PyShell.py,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -r1.21 -r1.22
*** PyShell.py	26 Jul 2002 00:06:41 -0000	1.21
--- PyShell.py	5 Aug 2002 03:52:10 -0000	1.22
***************
*** 199,206 ****
                                         str(port)]
          self.rpcpid = os.spawnv(os.P_NOWAIT, args[0], args)
!         # Idle starts listening for connection on localhost, retry since
!         # Idle may be restarted before port is available for rebinding
!         # XXX 25 July 2002 KBK Find out what is causing the delayed release!
!         for i in range(12):
              time.sleep(i)
              try:
--- 199,204 ----
                                         str(port)]
          self.rpcpid = os.spawnv(os.P_NOWAIT, args[0], args)
!         # Idle starts listening for connection on localhost
!         for i in range(6):
              time.sleep(i)
              try:
***************
*** 208,212 ****
                  break
              except socket.error, err:
!                 if i < 5:
                      print>>sys.__stderr__, ". ",
                  else:
--- 206,210 ----
                  break
              except socket.error, err:
!                 if i < 3:
                      print>>sys.__stderr__, ". ",
                  else:

Index: rpc.py
===================================================================
RCS file: /cvsroot/idlefork/idle/rpc.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** rpc.py	26 Jul 2002 00:06:41 -0000	1.4
--- rpc.py	5 Aug 2002 03:52:10 -0000	1.5
***************
*** 404,407 ****
--- 404,408 ----
      def __init__(self, address, family=socket.AF_INET, type=socket.SOCK_STREAM):
          self.sock = socket.socket(family, type)
+         self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
          self.sock.bind(address)
          self.sock.listen(1)

Index: run.py
===================================================================
RCS file: /cvsroot/idlefork/idle/run.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** run.py	28 Jul 2002 03:35:31 -0000	1.5
--- run.py	5 Aug 2002 03:52:10 -0000	1.6
***************
*** 27,31 ****
      sys.argv[:] = [""]
      addr = ("localhost", port)
!     for i in range(12):
          time.sleep(i)
          try:
--- 27,31 ----
      sys.argv[:] = [""]
      addr = ("localhost", port)
!     for i in range(6):
          time.sleep(i)
          try:
***************
*** 33,37 ****
              break
          except socket.error, err:
!             if i < 5:
                  print>>sys.__stderr__, ".. ",
              else:
--- 33,37 ----
              break
          except socket.error, err:
!             if i < 3:
                  print>>sys.__stderr__, ".. ",
              else: