Bug #1531963: Make SocketServer.TCPServer's server_address always be equal to calling getsockname() on the server's socket.

Will backport.
This commit is contained in:
Collin Winter 2007-03-10 02:51:26 +00:00
parent dbead56cb6
commit 22c42ba88c
3 changed files with 5 additions and 0 deletions

View 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.

View 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"

View file

@ -156,6 +156,9 @@ Core and builtins
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.