[Python-checkins] r54253 - in python/trunk: Lib/SocketServer.py Lib/test/test_socketserver.py Misc/NEWS

collin.winter python-checkins at python.org
Sat Mar 10 03:51:27 CET 2007


Author: collin.winter
Date: Sat Mar 10 03:51:26 2007
New Revision: 54253

Modified:
   python/trunk/Lib/SocketServer.py
   python/trunk/Lib/test/test_socketserver.py
   python/trunk/Misc/NEWS
Log:
Bug #1531963: Make SocketServer.TCPServer's server_address always be equal to calling getsockname() on the server's socket.
Will backport.


Modified: python/trunk/Lib/SocketServer.py
==============================================================================
--- python/trunk/Lib/SocketServer.py	(original)
+++ python/trunk/Lib/SocketServer.py	Sat Mar 10 03:51:26 2007
@@ -339,6 +339,7 @@
         if self.allow_reuse_address:
             self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
         self.socket.bind(self.server_address)
+        self.server_address = self.socket.getsockname()
 
     def server_activate(self):
         """Called by constructor to activate the server.

Modified: python/trunk/Lib/test/test_socketserver.py
==============================================================================
--- python/trunk/Lib/test/test_socketserver.py	(original)
+++ python/trunk/Lib/test/test_socketserver.py	Sat Mar 10 03:51:26 2007
@@ -84,6 +84,7 @@
         addr = getattr(svr, 'server_address')
         if addr:
             self.__addr = addr
+            assert self.__addr == svr.socket.getsockname()
         if verbose: print "thread: serving three times"
         svr.serve_a_few()
         if verbose: print "thread: done"

Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS	(original)
+++ python/trunk/Misc/NEWS	Sat Mar 10 03:51:26 2007
@@ -156,6 +156,9 @@
 Library
 -------
 
+- Bug #1531963: Make SocketServer.TCPServer's server_address always
+  be equal to calling getsockname() on the server's socket.
+
 - Bug #1651235: When a tuple was passed to a ctypes function call,
   Python would crash instead of raising an error.
 


More information about the Python-checkins mailing list