• Guido van Rossum's avatar
    IMPORTANT FIX: This should definitely go into the 2.1.1 release!!! · 7de4d645
    Guido van Rossum yazdı
    Fix various serious problems:
    
    - The ThreadingTCPServer class and its derived classes were completely
      broken because the main thread would close the request before the
      handler thread had time to look at it.  This was introduced by
      Ping's close_request() patch.  The fix moves the close_request()
      calls to after the handler has run to completion in the BaseServer
      class and the ForkingMixIn class; when using the ThreadingMixIn,
      closing the request is the handler's responsibility.
    
    - The ForkingUDPServer class has always been been broken because the
      socket was closed in the child before calling the handler.  I fixed
      this by simply not calling server_close() in the child at all.
    
    - I cannot get the UnixDatagramServer class to work at all.  The
      recvfrom() call doesn't return a meaningful client address.  I added
      a comment to this effect.  Maybe it works on other Unix versions.
    
    - The __all__ variable was missing ThreadingMixIn and ForkingMixIn.
    
    - Bumped __version__ to "0.4".
    
    - Added a note about the test suite (to be checked in shortly).
    7de4d645
SocketServer.py 17.3 KB