Patch #1599845: Add an option to disable the implicit calls to server_bind() and server_activate() in the constructors for TCPServer, SimpleXMLRPCServer and DocXMLRPCServer.

This commit is contained in:
Collin Winter 2007-03-10 14:41:48 +00:00
parent 3351aa7dd5
commit ae04106a0e
6 changed files with 30 additions and 12 deletions

View file

@ -279,7 +279,7 @@ class TCPServer(BaseServer):
Methods for the caller:
- __init__(server_address, RequestHandlerClass)
- __init__(server_address, RequestHandlerClass, bind_and_activate=True)
- serve_forever()
- handle_request() # if you don't use serve_forever()
- fileno() -> int # for select()
@ -322,13 +322,14 @@ class TCPServer(BaseServer):
allow_reuse_address = False
def __init__(self, server_address, RequestHandlerClass):
def __init__(self, server_address, RequestHandlerClass, bind_and_activate=True):
"""Constructor. May be extended, do not override."""
BaseServer.__init__(self, server_address, RequestHandlerClass)
self.socket = socket.socket(self.address_family,
self.socket_type)
self.server_bind()
self.server_activate()
if bind_and_activate:
self.server_bind()
self.server_activate()
def server_bind(self):
"""Called by constructor to bind the socket.