diff options
author | Neal Norwitz <nnorwitz@gmail.com> | 2007-08-26 22:20:03 (GMT) |
---|---|---|
committer | Neal Norwitz <nnorwitz@gmail.com> | 2007-08-26 22:20:03 (GMT) |
commit | d6a51e64d7f9a4ed1e6969bd7ea4d60d97e8df23 (patch) | |
tree | 740db6a1d7f867e689d04731ea122a4036294f8e | |
parent | 1b2f62d139257643b844eae6e951309d5aae472f (diff) | |
download | cpython-d6a51e64d7f9a4ed1e6969bd7ea4d60d97e8df23.zip cpython-d6a51e64d7f9a4ed1e6969bd7ea4d60d97e8df23.tar.gz cpython-d6a51e64d7f9a4ed1e6969bd7ea4d60d97e8df23.tar.bz2 |
Another patch from Bill Janssen that:
1) Fixes the bug that two class names are initial-lower-case.
2) Replaces the poll waiting for the server to become ready with
a threading.Event signal.
-rw-r--r-- | Lib/test/test_ssl.py | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py index 70346d0..1f051fd 100644 --- a/Lib/test/test_ssl.py +++ b/Lib/test/test_ssl.py @@ -153,9 +153,9 @@ class ConnectedTests(unittest.TestCase): c2.close() -class threadedEchoServer(threading.Thread): +class ThreadedEchoServer(threading.Thread): - class connectionHandler(threading.Thread): + class ConnectionHandler(threading.Thread): def __init__(self, server, connsock): self.server = server @@ -219,6 +219,7 @@ class threadedEchoServer(threading.Thread): self.certreqs = certreqs self.cacerts = cacerts self.sock = socket.socket() + self.flag = None if hasattr(socket, 'SO_REUSEADDR'): self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) if hasattr(socket, 'SO_REUSEPORT'): @@ -228,15 +229,22 @@ class threadedEchoServer(threading.Thread): threading.Thread.__init__(self) self.setDaemon(False) + def start (self, flag=None): + self.flag = flag + threading.Thread.start(self) + def run (self): self.sock.settimeout(0.5) self.sock.listen(5) self.active = True + if self.flag: + # signal an event + self.flag.set() while self.active: try: newconn, connaddr = self.sock.accept() #sys.stdout.write('\nserver: new connection from ' + str(connaddr) + '\n') - handler = self.connectionHandler(self, newconn) + handler = self.ConnectionHandler(self, newconn) handler.start() except socket.timeout: pass @@ -337,9 +345,11 @@ def test_main(): server = None if test_support.is_resource_enabled('network'): - server = threadedEchoServer(10024, CERTFILE) - server.start() - time.sleep(1) + server = ThreadedEchoServer(10024, CERTFILE) + flag = threading.Event() + server.start(flag) + # wait for it to start + flag.wait() tests.append(ConnectedTests) thread_info = test_support.threading_setup() |