[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