[py-svn] r8304 - py/dist/py/execnet/bin

hpk at codespeak.net hpk at codespeak.net
Sun Jan 16 13:27:09 CET 2005


Author: hpk
Date: Sun Jan 16 13:27:09 2005
New Revision: 8304

Modified:
   py/dist/py/execnet/bin/startserver.py
Log:
slight refactoring to allow looping (default when invoked from command line) 
this allows to have socketgateways and execnet/bin/shell's to the same
socketserver. 



Modified: py/dist/py/execnet/bin/startserver.py
==============================================================================
--- py/dist/py/execnet/bin/startserver.py	(original)
+++ py/dist/py/execnet/bin/startserver.py	Sun Jan 16 13:27:09 2005
@@ -22,7 +22,7 @@
     #import py 
     #compile = py.code.compile 
 
-def execloop(serversock):
+def exec_from_one_connection(serversock):
     print progname, 'Entering Accept loop', serversock.getsockname()
     clientsock,address = serversock.accept()
     print progname, 'got new connection from %s %s' % address
@@ -42,16 +42,6 @@
             print progname, 'finished executing code'
             # background thread might hold a reference to this (!?)
             #clientsock.close()
-        #except: 
-        #    if debug: 
-        #        import py 
-        #        excinfo = py.code.ExceptionInfo()
-        #        #print excinfo.traceback 
-        #        #print excinfo 
-
-        #except:
-        #    import traceback
-        #    traceback.print_exc()
 
 def bind_and_listen(hostport):
     if isinstance(hostport, str):
@@ -70,9 +60,18 @@
     serversock.listen(5)
     return serversock
 
-def startserver(serversock):
+def startserver(serversock, loop=False):
     try:
-        execloop(serversock)
+        while 1: 
+            try: 
+                exec_from_one_connection(serversock)
+            except (KeyboardInterrupt, SystemExit): 
+                raise 
+            except: 
+                import traceback
+                traceback.print_exc()
+            if not loop: 
+                break 
     finally:
         print "leaving socketserver execloop"
         serversock.shutdown(2)
@@ -84,5 +83,5 @@
     else:
         hostport = ':8888'
     serversock = bind_and_listen(hostport)
-    startserver(serversock)
+    startserver(serversock, loop=True)
 



More information about the pytest-commit mailing list