]> granicus.if.org Git - python/commitdiff
Bug #1531963: Make SocketServer.TCPServer's server_address always be equal to calling...
authorCollin Winter <collinw@gmail.com>
Sat, 10 Mar 2007 03:31:44 +0000 (03:31 +0000)
committerCollin Winter <collinw@gmail.com>
Sat, 10 Mar 2007 03:31:44 +0000 (03:31 +0000)
Backported from r54253.

Lib/SocketServer.py
Lib/test/test_socketserver.py
Misc/NEWS

index 3a74c444ba182ed01edf50bbe4a78c7108906bf3..7d9b9a536a94179b591c54e2c1080c974b5d8ae2 100644 (file)
@@ -339,6 +339,7 @@ class TCPServer(BaseServer):
         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.
index e4cbb2b58888b4c8c7af7ef0d310d18fb497b280..62321757068dcefb3d9f407f8d8b8faac950a390 100644 (file)
@@ -84,6 +84,7 @@ class ServerThread(threading.Thread):
         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"
index 3c0c34bd0b977b496f1ae2837fd1beedeadd00e6..156c03ccdf4f0c745f1a22290413fbccfe31fdc3 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -196,6 +196,11 @@ Extension Modules
 
 Library
 -------
+
+- Bug #1531963: Make SocketServer.TCPServer's server_address always
+  be equal to calling getsockname() on the server's socket. Fixed by patch
+  #1545011.
+
 - Bug #1651235: When a tuple was passed to a ctypes function call,
   Python would crash instead of raising an error.