I am trying to overwrite the serve_forever
method of the SocketServer.TCPServer
class. However i am getting a AttributeError: MyServer instance has no attribute '_MyServer__is_shut_down'
error.
__is_shut_down
is implemented in the SocketServer.BaseServer
class and should be initialised through __init__()
of SocketServer.TCPServer
. What am i missing?
import SocketServer
class MyServer(SocketServer.TCPServer):
def __init__(self, server_address, RequestHandlerClass):
SocketServer.TCPServer.__init__(self, server_address,
RequestHandlerClass)
def serve_forever(self, poll_interval=0.5):
self.__is_shut_down.clear()
try:
while not self.__shutdown_request:
print "SOMETHING"
r, w, e = _eintr_retry(select.select, [self], [], [],
poll_interval)
if self in r:
self._handle_request_noblock()
finally:
self.__shutdown_request = False
self.__is_shut_down.set()