[Python-Dev] Other SSL issues in the tracker have been marked

Neal Norwitz nnorwitz at gmail.com
Mon Aug 27 00:20:21 CEST 2007


Thanks.  I applied it. -- n

On 8/26/07, Bill Janssen <janssen at parc.com> wrote:
> Well, as long as you have your ears on, here's another patch to test_ssl.
>
> 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.
>
> Bill
>
> Index: Lib/test/test_ssl.py
> ===================================================================
> --- Lib/test/test_ssl.py        (revision 57521)
> +++ Lib/test/test_ssl.py        (working copy)
> @@ -153,9 +153,9 @@
>                  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 @@
>          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 @@
>          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 @@
>
>      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()
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/nnorwitz%40gmail.com
>


More information about the Python-Dev mailing list